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