Fiona is cold. Fiona is green. Fiona is red. Fiona is rough. Fiona is round. Fiona is smart. Fiona is white. Harry is green. Harry is smart. Harry is white. If Harry is rough then Harry is round. All round, white people are red. If someone is smart and white then they are rough. If someone is smart then they are white. If Harry is round and Harry is green then Harry is white. Cold, red people are smart.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
If Harry is rough then Harry is round.
((("Harry" "is" "rough" "+")) -> ("Harry" "is" "round" "+"))
All round, white people are red.
((("someone" "is" "round" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
If someone is smart and white then they are rough.
((("someone" "is" "smart" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
If someone is smart then they are white.
((("someone" "is" "smart" "+")) -> ("someone" "is" "white" "+"))
If Harry is round and Harry is green then Harry is white.
((("Harry" "is" "round" "+") ("Harry" "is" "green" "+")) -> ("Harry" "is" "white" "+"))
Cold, red people are smart.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Fiona is white.
True
1
proof
[(triple7 OR ((triple6) -> rule4) OR ((((triple1 triple3) -> rule6)) -> rule4))]
("Fiona" "is" "white" "+")
triple7
((triple6) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is not round.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "round" "-")
triple5
Harry is rough.
True
3
proof
[(((triple9 triple10) -> rule3) OR ((triple9 ((triple9) -> rule4)) -> rule3))]
("Harry" "is" "rough" "+")
((triple9 triple10) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple9 ((triple9) -> (rule4 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is not rough.
False
3
inv-proof
[(((triple9 triple10) -> rule3) OR ((triple9 ((triple9) -> rule4)) -> rule3))]
("Harry" "is" "rough" "-")
((triple9 triple10) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple9 ((triple9) -> (rule4 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
True
4
proof
[(((((triple9 triple10) -> rule3)) -> rule1) OR ((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1))]
("Harry" "is" "round" "+")
((((triple9 triple10) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple9 ((triple9) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is not round.
False
4
inv-proof
[(((((triple9 triple10) -> rule3)) -> rule1) OR ((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1))]
("Harry" "is" "round" "-")
((((triple9 triple10) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple9 ((triple9) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is red.
True
6
proof
[(((((((triple9 triple10) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 triple10) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2))]
("Harry" "is" "red" "+")
((((((triple9 triple10) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((triple9 triple10) -> (rule3 % int4))) -> (rule1 % int3)) ((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple9) -> (rule4 % int4))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is not red.
False
6
inv-proof
[(((((((triple9 triple10) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 triple10) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2))]
("Harry" "is" "red" "-")
((((((triple9 triple10) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((triple9 triple10) -> (rule3 % int4))) -> (rule1 % int3)) ((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple9) -> (rule4 % int4))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
@0: Fiona is cold.[(triple1)] Fiona is green.[(triple2)] Fiona is red.[(triple3 OR ((triple5 triple7) -> rule2) OR ((triple5 ((triple6) -> rule4)) -> rule2))] Fiona is rough.[(triple4 OR ((triple6 triple7) -> rule3) OR ((triple6 ((triple6) -> rule4)) -> rule3) OR ((((triple1 triple3) -> rule6) triple7) -> rule3) OR ((((triple1 triple3) -> rule6) ((triple6) -> rule4)) -> rule3) OR ((triple6 ((((triple1 triple3) -> rule6)) -> rule4)) -> rule3) OR ((((triple1 ((triple5 triple7) -> rule2)) -> rule6) triple7) -> rule3) OR ((((triple1 triple3) -> rule6) ((((triple1 triple3) -> rule6)) -> rule4)) -> rule3) OR ((((triple1 ((triple5 triple7) -> rule2)) -> rule6) ((triple6) -> rule4)) -> rule3) OR ((((triple1 ((triple5 triple7) -> rule2)) -> rule6) ((((triple1 triple3) -> rule6)) -> rule4)) -> rule3))] Fiona is round.[(triple5)] Fiona is smart.[(triple6 OR ((triple1 triple3) -> rule6) OR ((triple1 ((triple5 triple7) -> rule2)) -> rule6))] Fiona is white.[(triple7 OR ((triple6) -> rule4) OR ((((triple1 triple3) -> rule6)) -> rule4))] Harry is green.[(triple8)] Harry is smart.[(triple9)] Harry is white.[(triple10 OR ((triple9) -> rule4))] @1: Harry is rough.[(((triple9 triple10) -> rule3) OR ((triple9 ((triple9) -> rule4)) -> rule3))] @2: Harry is round.[(((((triple9 triple10) -> rule3)) -> rule1) OR ((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1))] @3: Harry is red.[(((((((triple9 triple10) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 triple10) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) triple10) -> rule2) OR ((((((triple9 ((triple9) -> rule4)) -> rule3)) -> rule1) ((triple9) -> rule4)) -> rule2))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
Fiona is green.
("Fiona" "is" "green" "+")
triple2
Fiona is red.
("Fiona" "is" "red" "+")
triple3
((triple5 triple7) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple5 ((triple6) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple4
((triple6 triple7) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple6 ((triple6) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((triple1 triple3) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple1 triple3) -> (rule6 % int3)) ((triple6) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((triple6 ((((triple1 triple3) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((triple1 ((triple5 triple7) -> (rule2 % int3))) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((triple1 triple3) -> (rule6 % int3)) ((((triple1 triple3) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((triple1 ((triple5 triple7) -> (rule2 % int4))) -> (rule6 % int3)) ((triple6) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
((((triple1 ((triple5 triple7) -> (rule2 % int4))) -> (rule6 % int3)) ((((triple1 triple3) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
((triple1 triple3) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple1 ((triple5 triple7) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple7
((triple6) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
((triple9) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple9 triple10) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple9 ((triple9) -> (rule4 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((((triple9 triple10) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple9 ((triple9) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((((triple9 triple10) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((triple9 triple10) -> (rule3 % int4))) -> (rule1 % int3)) ((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((((triple9 ((triple9) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple9) -> (rule4 % int4))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4