Bob is furry. Bob is red. Bob is white. Dave is big. Dave is blue. Dave is cold. Dave is furry. Dave is red. Dave is white. Dave is young. If Dave is big then Dave is blue. If Bob is cold and Bob is young then Bob is furry. Furry people are blue. If someone is blue and white then they are furry. If Bob is red and Bob is white then Bob is furry. All blue people are cold. Cold, red people are young. If someone is white and red then they are big.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
If Dave is big then Dave is blue.
((("Dave" "is" "big" "+")) -> ("Dave" "is" "blue" "+"))
If Bob is cold and Bob is young then Bob is furry.
((("Bob" "is" "cold" "+") ("Bob" "is" "young" "+")) -> ("Bob" "is" "furry" "+"))
Furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue and white then they are furry.
((("someone" "is" "blue" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If Bob is red and Bob is white then Bob is furry.
((("Bob" "is" "red" "+") ("Bob" "is" "white" "+")) -> ("Bob" "is" "furry" "+"))
All blue people are cold.
((("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
Cold, red people are young.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
If someone is white and red then they are big.
((("someone" "is" "white" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Dave is red.
True
1
proof
[(triple8)]
("Dave" "is" "red" "+")
triple8
Dave is not blue.
False
1
inv-proof
[(triple5 OR ((triple4) -> rule1) OR ((triple7) -> rule3) OR ((((triple9 triple8) -> rule8)) -> rule1))]
("Dave" "is" "blue" "-")
triple5
((triple4) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple7) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple9 triple8) -> (rule8 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Bob is blue.
True
2
proof
[(((triple1) -> rule3) OR ((((triple2 triple3) -> rule5)) -> rule3))]
("Bob" "is" "blue" "+")
((triple1) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple2 triple3) -> (rule5 % int2))) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is not big.
False
3
inv-proof
[(((triple3 triple2) -> rule8))]
("Bob" "is" "big" "-")
((triple3 triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
True
3
proof
[(((((triple1) -> rule3)) -> rule6) OR ((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6))]
("Bob" "is" "cold" "+")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2 triple3) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is not cold.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule6) OR ((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6))]
("Bob" "is" "cold" "-")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2 triple3) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is young.
True
5
proof
[(((((((triple1) -> rule3)) -> rule6) triple2) -> rule7) OR ((((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6) triple2) -> rule7))]
("Bob" "is" "young" "+")
((((((triple1) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple2 triple3) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is not young.
False
5
inv-proof
[(((((((triple1) -> rule3)) -> rule6) triple2) -> rule7) OR ((((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6) triple2) -> rule7))]
("Bob" "is" "young" "-")
((((((triple1) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple2 triple3) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
@0: Bob is furry.[(triple1 OR ((triple2 triple3) -> rule5))] Bob is red.[(triple2)] Bob is white.[(triple3)] Dave is big.[(triple4 OR ((triple9 triple8) -> rule8))] Dave is blue.[(triple5 OR ((triple4) -> rule1) OR ((triple7) -> rule3) OR ((((triple9 triple8) -> rule8)) -> rule1))] Dave is cold.[(triple6 OR ((triple5) -> rule6) OR ((((triple4) -> rule1)) -> rule6) OR ((((triple7) -> rule3)) -> rule6) OR ((((((triple9 triple8) -> rule8)) -> rule1)) -> rule6))] Dave is furry.[(triple7 OR ((triple5 triple9) -> rule4) OR ((((triple4) -> rule1) triple9) -> rule4) OR ((((((triple9 triple8) -> rule8)) -> rule1) triple9) -> rule4))] Dave is red.[(triple8)] Dave is white.[(triple9)] Dave is young.[(triple10 OR ((triple6 triple8) -> rule7) OR ((((triple5) -> rule6) triple8) -> rule7) OR ((((((triple4) -> rule1)) -> rule6) triple8) -> rule7) OR ((((((triple7) -> rule3)) -> rule6) triple8) -> rule7) OR ((((((((triple9 triple8) -> rule8)) -> rule1)) -> rule6) triple8) -> rule7))] @1: Bob is big.[(((triple3 triple2) -> rule8))] Bob is blue.[(((triple1) -> rule3) OR ((((triple2 triple3) -> rule5)) -> rule3))] @2: Bob is cold.[(((((triple1) -> rule3)) -> rule6) OR ((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6))] @3: Bob is young.[(((((((triple1) -> rule3)) -> rule6) triple2) -> rule7) OR ((((((((triple2 triple3) -> rule5)) -> rule3)) -> rule6) triple2) -> rule7))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple2 triple3) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
((triple9 triple8) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((triple4) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple7) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple9 triple8) -> (rule8 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple6
((triple5) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple7) -> (rule3 % int2))) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple9 triple8) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
triple7
((triple5 triple9) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple4) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple9 triple8) -> (rule8 % int3))) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
triple8
Dave is white.
("Dave" "is" "white" "+")
triple9
Dave is young.
("Dave" "is" "young" "+")
triple10
((triple6 triple8) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple5) -> (rule6 % int2)) triple8) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((((triple4) -> (rule1 % int3))) -> (rule6 % int2)) triple8) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple7) -> (rule3 % int3))) -> (rule6 % int2)) triple8) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((((triple9 triple8) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule6 % int2)) triple8) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
((triple3 triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((triple1) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple2 triple3) -> (rule5 % int2))) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2 triple3) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
((((((triple1) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple2 triple3) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4