Fiona is furry. Fiona is quiet. Fiona is young. Gary is big. Gary is furry. Gary is nice. Gary is quiet. Gary is red. Gary is white. Gary is young. If Fiona is big then Fiona is quiet. Nice, big things are white. All furry, nice things are white. If Fiona is nice and Fiona is red then Fiona is furry. If something is furry and quiet then it is red. All red things are nice. Big, white things are young. If Gary is red then Gary is furry.
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
If Fiona is big then Fiona is quiet.
((("Fiona" "is" "big" "+")) -> ("Fiona" "is" "quiet" "+"))
Nice, big things are white.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
All furry, nice things are white.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
If Fiona is nice and Fiona is red then Fiona is furry.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "red" "+")) -> ("Fiona" "is" "furry" "+"))
If something is furry and quiet then it is red.
((("something" "is" "furry" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
All red things are nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
Big, white things are young.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
If Gary is red then Gary is furry.
((("Gary" "is" "red" "+")) -> ("Gary" "is" "furry" "+"))
Gary is white.
True
1
proof
[(triple9 OR ((triple5 triple6) -> rule3) OR ((triple6 triple4) -> rule2) OR ((triple5 ((triple8) -> rule6)) -> rule3) OR ((((triple8) -> rule6) triple4) -> rule2) OR ((((triple8) -> rule8) triple6) -> rule3) OR ((((triple8) -> rule8) ((triple8) -> rule6)) -> rule3) OR ((triple5 ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3) OR ((((((triple5 triple7) -> rule5)) -> rule6) triple4) -> rule2) OR ((((triple8) -> rule8) ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3))]
("Gary" "is" "white" "+")
triple9
((triple5 triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple6 triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple5 ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple8) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple8) -> (rule8 % int2)) triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule8 % int3)) ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple5 ((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((triple8) -> (rule8 % int4)) ((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is not big.
False
1
inv-proof
[(triple4)]
("Gary" "is" "big" "-")
triple4
Fiona is red.
True
3
proof
[(((triple1 triple2) -> rule5))]
("Fiona" "is" "red" "+")
((triple1 triple2) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is not red.
False
3
inv-proof
[(((triple1 triple2) -> rule5))]
("Fiona" "is" "red" "-")
((triple1 triple2) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
True
4
proof
[(((((triple1 triple2) -> rule5)) -> rule6))]
("Fiona" "is" "nice" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is not nice.
False
4
inv-proof
[(((((triple1 triple2) -> rule5)) -> rule6))]
("Fiona" "is" "nice" "-")
((((triple1 triple2) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is white.
True
6
proof
[(((triple1 ((((triple1 triple2) -> rule5)) -> rule6)) -> rule3))]
("Fiona" "is" "white" "+")
((triple1 ((((triple1 triple2) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is not white.
False
6
inv-proof
[(((triple1 ((((triple1 triple2) -> rule5)) -> rule6)) -> rule3))]
("Fiona" "is" "white" "-")
((triple1 ((((triple1 triple2) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
@0: Fiona is furry.[(triple1)] Fiona is quiet.[(triple2)] Fiona is young.[(triple3)] Gary is big.[(triple4)] Gary is furry.[(triple5 OR ((triple8) -> rule8))] Gary is nice.[(triple6 OR ((triple8) -> rule6) OR ((((triple5 triple7) -> rule5)) -> rule6))] Gary is quiet.[(triple7)] Gary is red.[(triple8 OR ((triple5 triple7) -> rule5))] Gary is white.[(triple9 OR ((triple5 triple6) -> rule3) OR ((triple6 triple4) -> rule2) OR ((triple5 ((triple8) -> rule6)) -> rule3) OR ((((triple8) -> rule6) triple4) -> rule2) OR ((((triple8) -> rule8) triple6) -> rule3) OR ((((triple8) -> rule8) ((triple8) -> rule6)) -> rule3) OR ((triple5 ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3) OR ((((((triple5 triple7) -> rule5)) -> rule6) triple4) -> rule2) OR ((((triple8) -> rule8) ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3))] Gary is young.[(triple10 OR ((triple4 triple9) -> rule7) OR ((triple4 ((triple5 triple6) -> rule3)) -> rule7) OR ((triple4 ((triple6 triple4) -> rule2)) -> rule7) OR ((triple4 ((triple5 ((triple8) -> rule6)) -> rule3)) -> rule7) OR ((triple4 ((((triple8) -> rule6) triple4) -> rule2)) -> rule7) OR ((triple4 ((((triple8) -> rule8) triple6) -> rule3)) -> rule7) OR ((triple4 ((((triple8) -> rule8) ((triple8) -> rule6)) -> rule3)) -> rule7) OR ((triple4 ((triple5 ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3)) -> rule7) OR ((triple4 ((((((triple5 triple7) -> rule5)) -> rule6) triple4) -> rule2)) -> rule7) OR ((triple4 ((((triple8) -> rule8) ((((triple5 triple7) -> rule5)) -> rule6)) -> rule3)) -> rule7))] @1: Fiona is red.[(((triple1 triple2) -> rule5))] @2: Fiona is nice.[(((((triple1 triple2) -> rule5)) -> rule6))] @3: Fiona is white.[(((triple1 ((((triple1 triple2) -> rule5)) -> rule6)) -> rule3))]
Fiona is furry.
("Fiona" "is" "furry" "+")
triple1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple2
Fiona is young.
("Fiona" "is" "young" "+")
triple3
Gary is big.
("Gary" "is" "big" "+")
triple4
Gary is furry.
("Gary" "is" "furry" "+")
triple5
((triple8) -> (rule8 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple6
((triple8) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple5 triple7) -> (rule5 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Gary is red.
("Gary" "is" "red" "+")
triple8
((triple5 triple7) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple9
((triple5 triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple6 triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple5 ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple8) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple8) -> (rule8 % int2)) triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule8 % int3)) ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple5 ((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((triple8) -> (rule8 % int4)) ((((triple5 triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
triple10
((triple4 triple9) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple4 ((triple5 triple6) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((triple4 ((triple6 triple4) -> (rule2 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((triple4 ((triple5 ((triple8) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
((triple4 ((((triple8) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
((triple4 ((((triple8) -> (rule8 % int3)) triple6) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple4 ((((triple8) -> (rule8 % int4)) ((triple8) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((triple4 ((triple5 ((((triple5 triple7) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((triple4 ((((((triple5 triple7) -> (rule5 % int4))) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((triple4 ((((triple8) -> (rule8 % int5)) ((((triple5 triple7) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
int5
Fiona is red.
("Fiona" "is" "red" "+")
((triple1 triple2) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((triple1 ((((triple1 triple2) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3