Bob is blue. Bob is cold. Bob is furry. Bob is green. Bob is round. Bob is white. Bob is young. Harry is cold. Harry is white. Harry is young. All green, round people are furry. All round, cold people are white. Young people are round. Furry, white people are cold. All round people are green. All blue people are white.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
All green, round people are furry.
((("someone" "is" "green" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
All round, cold people are white.
((("someone" "is" "round" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
Young people are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Furry, white people are cold.
((("someone" "is" "furry" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
All round people are green.
((("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
All blue people are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
Harry is cold.
True
1
proof
[(triple8 OR ((((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1) triple9) -> rule4))]
("Harry" "is" "cold" "+")
triple8
((((((((triple10) -> (rule3 % int4))) -> (rule5 % int3)) ((triple10) -> (rule3 % int4))) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is not cold.
False
1
inv-proof
[(triple8 OR ((((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1) triple9) -> rule4))]
("Harry" "is" "cold" "-")
triple8
((((((((triple10) -> (rule3 % int4))) -> (rule5 % int3)) ((triple10) -> (rule3 % int4))) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is round.
True
2
proof
[(((triple10) -> rule3))]
("Harry" "is" "round" "+")
((triple10) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is not round.
False
2
inv-proof
[(((triple10) -> rule3))]
("Harry" "is" "round" "-")
((triple10) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is green.
True
3
proof
[(((((triple10) -> rule3)) -> rule5))]
("Harry" "is" "green" "+")
((((triple10) -> (rule3 % int2))) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is not green.
False
3
inv-proof
[(((((triple10) -> rule3)) -> rule5))]
("Harry" "is" "green" "-")
((((triple10) -> (rule3 % int2))) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is furry.
True
6
proof
[(((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1))]
("Harry" "is" "furry" "+")
((((((triple10) -> (rule3 % int3))) -> (rule5 % int2)) ((triple10) -> (rule3 % int3))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is not furry.
False
6
inv-proof
[(((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1))]
("Harry" "is" "furry" "-")
((((((triple10) -> (rule3 % int3))) -> (rule5 % int2)) ((triple10) -> (rule3 % int3))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2 OR ((triple3 triple6) -> rule4) OR ((triple3 ((triple1) -> rule6)) -> rule4) OR ((((triple4 triple5) -> rule1) triple6) -> rule4) OR ((((triple4 triple5) -> rule1) ((triple1) -> rule6)) -> rule4) OR ((((triple4 ((triple7) -> rule3)) -> rule1) triple6) -> rule4) OR ((((((triple5) -> rule5) triple5) -> rule1) triple6) -> rule4) OR ((((triple4 ((triple7) -> rule3)) -> rule1) ((triple1) -> rule6)) -> rule4) OR ((((((triple5) -> rule5) triple5) -> rule1) ((triple1) -> rule6)) -> rule4) OR ((((((triple5) -> rule5) ((triple7) -> rule3)) -> rule1) triple6) -> rule4) OR ((((((triple5) -> rule5) ((triple7) -> rule3)) -> rule1) ((triple1) -> rule6)) -> rule4) OR ((((((((triple7) -> rule3)) -> rule5) triple5) -> rule1) triple6) -> rule4) OR ((((((((triple7) -> rule3)) -> rule5) triple5) -> rule1) ((triple1) -> rule6)) -> rule4) OR ((((((((triple7) -> rule3)) -> rule5) ((triple7) -> rule3)) -> rule1) triple6) -> rule4) OR ((((((((triple7) -> rule3)) -> rule5) ((triple7) -> rule3)) -> rule1) ((triple1) -> rule6)) -> rule4))] Bob is furry.[(triple3 OR ((triple4 triple5) -> rule1) OR ((triple4 ((triple7) -> rule3)) -> rule1) OR ((((triple5) -> rule5) triple5) -> rule1) OR ((((triple5) -> rule5) ((triple7) -> rule3)) -> rule1) OR ((((((triple7) -> rule3)) -> rule5) triple5) -> rule1) OR ((((((triple7) -> rule3)) -> rule5) ((triple7) -> rule3)) -> rule1))] Bob is green.[(triple4 OR ((triple5) -> rule5) OR ((((triple7) -> rule3)) -> rule5))] Bob is round.[(triple5 OR ((triple7) -> rule3))] Bob is white.[(triple6 OR ((triple1) -> rule6) OR ((triple5 triple2) -> rule2) OR ((((triple7) -> rule3) triple2) -> rule2))] Bob is young.[(triple7)] Harry is cold.[(triple8 OR ((((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1) triple9) -> rule4))] Harry is white.[(triple9 OR ((((triple10) -> rule3) triple8) -> rule2))] Harry is young.[(triple10)] @1: Harry is round.[(((triple10) -> rule3))] @2: Harry is green.[(((((triple10) -> rule3)) -> rule5))] @3: Harry is furry.[(((((((triple10) -> rule3)) -> rule5) ((triple10) -> rule3)) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((triple3 triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple3 ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple4 triple5) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple4 triple5) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((triple4 ((triple7) -> (rule3 % int3))) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((((triple5) -> (rule5 % int3)) triple5) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple4 ((triple7) -> (rule3 % int4))) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((triple5) -> (rule5 % int4)) triple5) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((((triple5) -> (rule5 % int4)) ((triple7) -> (rule3 % int3))) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((((triple5) -> (rule5 % int5)) ((triple7) -> (rule3 % int4))) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
((((((((triple7) -> (rule3 % int4))) -> (rule5 % int3)) triple5) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((((triple7) -> (rule3 % int5))) -> (rule5 % int4)) triple5) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
int5
((((((((triple7) -> (rule3 % int4))) -> (rule5 % int3)) ((triple7) -> (rule3 % int4))) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((((triple7) -> (rule3 % int5))) -> (rule5 % int4)) ((triple7) -> (rule3 % int5))) -> (rule1 % int3)) ((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
int5
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple4 triple5) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple4 ((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple5) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple5) -> (rule5 % int3)) ((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple7) -> (rule3 % int3))) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((((triple7) -> (rule3 % int3))) -> (rule5 % int2)) ((triple7) -> (rule3 % int3))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
triple4
((triple5) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple7) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple6
((triple1) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple5 triple2) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple7) -> (rule3 % int2)) triple2) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
triple7
Harry is cold.
("Harry" "is" "cold" "+")
triple8
((((((((triple10) -> (rule3 % int4))) -> (rule5 % int3)) ((triple10) -> (rule3 % int4))) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is white.
("Harry" "is" "white" "+")
triple9
((((triple10) -> (rule3 % int2)) triple8) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
triple10
Harry is round.
("Harry" "is" "round" "+")
((triple10) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((((triple10) -> (rule3 % int2))) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((((((triple10) -> (rule3 % int3))) -> (rule5 % int2)) ((triple10) -> (rule3 % int3))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3