Fiona is big. Fiona is cold. Fiona is furry. Fiona is green. Fiona is smart. Gary is big. Gary is cold. Gary is furry. Gary is green. Gary is kind. Gary is rough. Gary is smart. If something is kind then it is big. If Fiona is furry and Fiona is cold then Fiona is big. Green things are rough. If something is rough then it is kind. All cold things are rough. If Fiona is furry and Fiona is cold then Fiona is rough. Rough things are furry. If Gary is rough and Gary is big then Gary is green.
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If something is kind then it is big.
((("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
If Fiona is furry and Fiona is cold then Fiona is big.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "big" "+"))
Green things are rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If something is rough then it is kind.
((("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
All cold things are rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
If Fiona is furry and Fiona is cold then Fiona is rough.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "rough" "+"))
Rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
If Gary is rough and Gary is big then Gary is green.
((("Gary" "is" "rough" "+") ("Gary" "is" "big" "+")) -> ("Gary" "is" "green" "+"))
Gary is big.
True
1
proof
[(triple6 OR ((triple10) -> rule1) OR ((((triple11) -> rule4)) -> rule1) OR ((((((triple7) -> rule5)) -> rule4)) -> rule1) OR ((((((triple9) -> rule3)) -> rule4)) -> rule1))]
("Gary" "is" "big" "+")
triple6
((triple10) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple11) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((((triple7) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple9) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Fiona is not smart.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "smart" "-")
triple5
Fiona is rough.
True
2
proof
[(((triple2) -> rule5) OR ((triple4) -> rule3) OR ((triple3 triple2) -> rule6))]
("Fiona" "is" "rough" "+")
((triple2) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not rough.
False
2
inv-proof
[(((triple2) -> rule5) OR ((triple4) -> rule3) OR ((triple3 triple2) -> rule6))]
("Fiona" "is" "rough" "-")
((triple2) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
True
3
proof
[(((((triple2) -> rule5)) -> rule4) OR ((((triple4) -> rule3)) -> rule4) OR ((((triple3 triple2) -> rule6)) -> rule4))]
("Fiona" "is" "kind" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple3 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is not kind.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule4) OR ((((triple4) -> rule3)) -> rule4) OR ((((triple3 triple2) -> rule6)) -> rule4))]
("Fiona" "is" "kind" "-")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple3 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
@0: Fiona is big.[(triple1 OR ((triple3 triple2) -> rule2) OR ((((((triple2) -> rule5)) -> rule4)) -> rule1) OR ((((((triple4) -> rule3)) -> rule4)) -> rule1) OR ((((((triple3 triple2) -> rule6)) -> rule4)) -> rule1) OR ((((((triple2) -> rule5)) -> rule7) triple2) -> rule2) OR ((((((triple4) -> rule3)) -> rule7) triple2) -> rule2))] Fiona is cold.[(triple2)] Fiona is furry.[(triple3 OR ((((triple2) -> rule5)) -> rule7) OR ((((triple4) -> rule3)) -> rule7))] Fiona is green.[(triple4)] Fiona is smart.[(triple5)] Gary is big.[(triple6 OR ((triple10) -> rule1) OR ((((triple11) -> rule4)) -> rule1) OR ((((((triple7) -> rule5)) -> rule4)) -> rule1) OR ((((((triple9) -> rule3)) -> rule4)) -> rule1))] Gary is cold.[(triple7)] Gary is furry.[(triple8 OR ((triple11) -> rule7) OR ((((triple7) -> rule5)) -> rule7) OR ((((triple9) -> rule3)) -> rule7))] Gary is green.[(triple9 OR ((triple11 triple6) -> rule8) OR ((triple11 ((triple10) -> rule1)) -> rule8) OR ((((triple7) -> rule5) triple6) -> rule8) OR ((((triple7) -> rule5) ((triple10) -> rule1)) -> rule8) OR ((triple11 ((((triple11) -> rule4)) -> rule1)) -> rule8) OR ((((triple7) -> rule5) ((((triple11) -> rule4)) -> rule1)) -> rule8) OR ((triple11 ((((((triple7) -> rule5)) -> rule4)) -> rule1)) -> rule8) OR ((((triple7) -> rule5) ((((((triple7) -> rule5)) -> rule4)) -> rule1)) -> rule8))] Gary is kind.[(triple10 OR ((triple11) -> rule4) OR ((((triple7) -> rule5)) -> rule4) OR ((((triple9) -> rule3)) -> rule4))] Gary is rough.[(triple11 OR ((triple7) -> rule5) OR ((triple9) -> rule3))] Gary is smart.[(triple12)] @1: Fiona is rough.[(((triple2) -> rule5) OR ((triple4) -> rule3) OR ((triple3 triple2) -> rule6))] @2: Fiona is kind.[(((((triple2) -> rule5)) -> rule4) OR ((((triple4) -> rule3)) -> rule4) OR ((((triple3 triple2) -> rule6)) -> rule4))]
Fiona is big.
("Fiona" "is" "big" "+")
triple1
((triple3 triple2) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple4) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple3 triple2) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple2) -> (rule5 % int3))) -> (rule7 % int2)) triple2) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple4) -> (rule3 % int3))) -> (rule7 % int2)) triple2) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
((((triple2) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
Gary is big.
("Gary" "is" "big" "+")
triple6
((triple10) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple11) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((((triple7) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple9) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
((triple11) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple9) -> (rule3 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
triple9
((triple11 triple6) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((triple11 ((triple10) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple7) -> (rule5 % int2)) triple6) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple7) -> (rule5 % int3)) ((triple10) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((triple11 ((((triple11) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((triple7) -> (rule5 % int4)) ((((triple11) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((triple11 ((((((triple7) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((triple7) -> (rule5 % int4)) ((((((triple7) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
triple10
((triple11) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple9) -> (rule3 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
triple11
((triple7) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple9) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
triple12
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple3 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2