Bob is big. Bob is blue. Bob is kind. Bob is red. Bob is round. Bob is young. Fiona is big. Fiona is blue. Fiona is cold. Fiona is kind. Fiona is red. Fiona is young. Blue things are round. If Fiona is red and Fiona is big then Fiona is cold. If Fiona is big and Fiona is round then Fiona is young.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Blue things are round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If Fiona is red and Fiona is big then Fiona is cold.
((("Fiona" "is" "red" "+") ("Fiona" "is" "big" "+")) -> ("Fiona" "is" "cold" "+"))
If Fiona is big and Fiona is round then Fiona is young.
((("Fiona" "is" "big" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "young" "+"))
Fiona is cold.
True
1
proof
[(triple9 OR ((triple11 triple7) -> rule2))]
("Fiona" "is" "cold" "+")
triple9
((triple11 triple7) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Bob is not kind.
False
1
inv-proof
[(triple3)]
("Bob" "is" "kind" "-")
triple3
Fiona is round.
True
2
proof
[(((triple8) -> rule1))]
("Fiona" "is" "round" "+")
((triple8) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple8) -> rule1))]
("Fiona" "is" "round" "-")
((triple8) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
@0: Bob is big.[(triple1)] Bob is blue.[(triple2)] Bob is kind.[(triple3)] Bob is red.[(triple4)] Bob is round.[(triple5 OR ((triple2) -> rule1))] Bob is young.[(triple6)] Fiona is big.[(triple7)] Fiona is blue.[(triple8)] Fiona is cold.[(triple9 OR ((triple11 triple7) -> rule2))] Fiona is kind.[(triple10)] Fiona is red.[(triple11)] Fiona is young.[(triple12 OR ((triple7 ((triple8) -> rule1)) -> rule3))] @1: Fiona is round.[(((triple8) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple6
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
((triple11 triple7) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple11
Fiona is young.
("Fiona" "is" "young" "+")
triple12
((triple7 ((triple8) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((triple8) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1