Dave is big. Dave is cold. Dave is furry. Dave is red. Dave is rough. Dave is round. Dave is young. Gary is cold. Gary is young. Harry is big. Harry is cold. Harry is furry. Harry is red. Harry is rough. Harry is round. Harry is young. Cold, young people are red. All rough people are round. If someone is cold and red then they are big. All young people are round. Rough, round people are young. If Gary is young and Gary is cold then Gary is rough.
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is young.
("Harry" "is" "young" "+")
Cold, young people are red.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
All rough people are round.
((("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If someone is cold and red then they are big.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
All young people are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Rough, round people are young.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
If Gary is young and Gary is cold then Gary is rough.
((("Gary" "is" "young" "+") ("Gary" "is" "cold" "+")) -> ("Gary" "is" "rough" "+"))
Dave is rough.
True
1
proof
[(triple5)]
("Dave" "is" "rough" "+")
triple5
Dave is not big.
False
1
inv-proof
[(triple1 OR ((triple2 triple4) -> rule3) OR ((triple2 ((triple2 triple7) -> rule1)) -> rule3) OR ((triple2 ((triple2 ((triple5 triple6) -> rule5)) -> rule1)) -> rule3) OR ((triple2 ((triple2 ((triple5 ((triple5) -> rule2)) -> rule5)) -> rule1)) -> rule3))]
("Dave" "is" "big" "-")
triple1
((triple2 triple4) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((triple2 ((triple2 triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((triple2 ((triple2 ((triple5 triple6) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((triple2 ((triple2 ((triple5 ((triple5) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Gary is rough.
True
3
proof
[(((triple9 triple8) -> rule6))]
("Gary" "is" "rough" "+")
((triple9 triple8) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is not round.
False
2
inv-proof
[(((triple9) -> rule4) OR ((((triple9 triple8) -> rule6)) -> rule2))]
("Gary" "is" "round" "-")
((triple9) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple9 triple8) -> (rule6 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is big.
True
5
proof
[(((triple8 ((triple8 triple9) -> rule1)) -> rule3))]
("Gary" "is" "big" "+")
((triple8 ((triple8 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not big.
False
5
inv-proof
[(((triple8 ((triple8 triple9) -> rule1)) -> rule3))]
("Gary" "is" "big" "-")
((triple8 ((triple8 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
@0: Dave is big.[(triple1 OR ((triple2 triple4) -> rule3) OR ((triple2 ((triple2 triple7) -> rule1)) -> rule3) OR ((triple2 ((triple2 ((triple5 triple6) -> rule5)) -> rule1)) -> rule3) OR ((triple2 ((triple2 ((triple5 ((triple5) -> rule2)) -> rule5)) -> rule1)) -> rule3))] Dave is cold.[(triple2)] Dave is furry.[(triple3)] Dave is red.[(triple4 OR ((triple2 triple7) -> rule1) OR ((triple2 ((triple5 triple6) -> rule5)) -> rule1) OR ((triple2 ((triple5 ((triple5) -> rule2)) -> rule5)) -> rule1))] Dave is rough.[(triple5)] Dave is round.[(triple6 OR ((triple5) -> rule2) OR ((triple7) -> rule4))] Dave is young.[(triple7 OR ((triple5 triple6) -> rule5) OR ((triple5 ((triple5) -> rule2)) -> rule5))] Gary is cold.[(triple8)] Gary is young.[(triple9)] Harry is big.[(triple10 OR ((triple11 triple13) -> rule3) OR ((triple11 ((triple11 triple16) -> rule1)) -> rule3) OR ((triple11 ((triple11 ((triple14 triple15) -> rule5)) -> rule1)) -> rule3) OR ((triple11 ((triple11 ((triple14 ((triple14) -> rule2)) -> rule5)) -> rule1)) -> rule3))] Harry is cold.[(triple11)] Harry is furry.[(triple12)] Harry is red.[(triple13 OR ((triple11 triple16) -> rule1) OR ((triple11 ((triple14 triple15) -> rule5)) -> rule1) OR ((triple11 ((triple14 ((triple14) -> rule2)) -> rule5)) -> rule1))] Harry is rough.[(triple14)] Harry is round.[(triple15 OR ((triple14) -> rule2) OR ((triple16) -> rule4))] Harry is young.[(triple16 OR ((triple14 triple15) -> rule5) OR ((triple14 ((triple14) -> rule2)) -> rule5))] @1: Gary is red.[(((triple8 triple9) -> rule1))] Gary is rough.[(((triple9 triple8) -> rule6))] Gary is round.[(((triple9) -> rule4) OR ((((triple9 triple8) -> rule6)) -> rule2))] @2: Gary is big.[(((triple8 ((triple8 triple9) -> rule1)) -> rule3))]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple2 triple4) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((triple2 ((triple2 triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((triple2 ((triple2 ((triple5 triple6) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((triple2 ((triple2 ((triple5 ((triple5) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Dave is furry.
("Dave" "is" "furry" "+")
triple3
Dave is red.
("Dave" "is" "red" "+")
triple4
((triple2 triple7) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple2 ((triple5 triple6) -> (rule5 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((triple2 ((triple5 ((triple5) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
triple5
Dave is round.
("Dave" "is" "round" "+")
triple6
((triple5) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple7) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple7
((triple5 triple6) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple5 ((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
triple8
Gary is young.
("Gary" "is" "young" "+")
triple9
Harry is big.
("Harry" "is" "big" "+")
triple10
((triple11 triple13) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple11 ((triple11 triple16) -> (rule1 % int2))) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((triple11 ((triple11 ((triple14 triple15) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((triple11 ((triple11 ((triple14 ((triple14) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
triple11
Harry is furry.
("Harry" "is" "furry" "+")
triple12
Harry is red.
("Harry" "is" "red" "+")
triple13
((triple11 triple16) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple11 ((triple14 triple15) -> (rule5 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((triple11 ((triple14 ((triple14) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is round.
("Harry" "is" "round" "+")
triple15
((triple14) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple16) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
triple16
((triple14 triple15) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((triple14 ((triple14) -> (rule2 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((triple8 triple9) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple9 triple8) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple9) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple9 triple8) -> (rule6 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((triple8 ((triple8 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2