Anne is big. Anne is blue. Anne is green. Anne is kind. Anne is quiet. Anne is red. Anne is young. Charlie is big. Charlie is quiet. Charlie is young. Harry is green. Harry is kind. Harry is quiet. Harry is red. Harry is young. All kind, quiet things are red. Big, red things are green. Green things are blue. Red things are quiet. If something is quiet then it is kind. All blue, kind things are young.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is young.
("Harry" "is" "young" "+")
All kind, quiet things are red.
((("something" "is" "kind" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Big, red things are green.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
Green things are blue.
((("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Red things are quiet.
((("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If something is quiet then it is kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
All blue, kind things are young.
((("something" "is" "blue" "+") ("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Harry is quiet.
True
1
proof
[(triple13 OR ((triple14) -> rule4))]
("Harry" "is" "quiet" "+")
triple13
((triple14) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Anne is not kind.
False
1
inv-proof
[(triple4 OR ((triple5) -> rule5) OR ((((triple6) -> rule4)) -> rule5))]
("Anne" "is" "kind" "-")
triple4
((triple5) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Charlie is kind.
True
2
proof
[(((triple9) -> rule5))]
("Charlie" "is" "kind" "+")
((triple9) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Harry is not blue.
False
2
inv-proof
[(((triple11) -> rule3))]
("Harry" "is" "blue" "-")
((triple11) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is red.
True
4
proof
[(((((triple9) -> rule5) triple9) -> rule1))]
("Charlie" "is" "red" "+")
((((triple9) -> (rule5 % int2)) triple9) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is not red.
False
4
inv-proof
[(((((triple9) -> rule5) triple9) -> rule1))]
("Charlie" "is" "red" "-")
((((triple9) -> (rule5 % int2)) triple9) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is green.
True
6
proof
[(((triple8 ((((triple9) -> rule5) triple9) -> rule1)) -> rule2))]
("Charlie" "is" "green" "+")
((triple8 ((((triple9) -> (rule5 % int3)) triple9) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is not green.
False
6
inv-proof
[(((triple8 ((((triple9) -> rule5) triple9) -> rule1)) -> rule2))]
("Charlie" "is" "green" "-")
((triple8 ((((triple9) -> (rule5 % int3)) triple9) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
@0: Anne is big.[(triple1)] Anne is blue.[(triple2 OR ((triple3) -> rule3) OR ((((triple1 triple6) -> rule2)) -> rule3) OR ((((triple1 ((triple4 triple5) -> rule1)) -> rule2)) -> rule3) OR ((((triple1 ((((triple5) -> rule5) triple5) -> rule1)) -> rule2)) -> rule3))] Anne is green.[(triple3 OR ((triple1 triple6) -> rule2) OR ((triple1 ((triple4 triple5) -> rule1)) -> rule2) OR ((triple1 ((((triple5) -> rule5) triple5) -> rule1)) -> rule2))] Anne is kind.[(triple4 OR ((triple5) -> rule5) OR ((((triple6) -> rule4)) -> rule5))] Anne is quiet.[(triple5 OR ((triple6) -> rule4))] Anne is red.[(triple6 OR ((triple4 triple5) -> rule1) OR ((((triple5) -> rule5) triple5) -> rule1))] Anne is young.[(triple7 OR ((triple2 triple4) -> rule6) OR ((triple2 ((triple5) -> rule5)) -> rule6) OR ((((triple3) -> rule3) triple4) -> rule6) OR ((((triple3) -> rule3) ((triple5) -> rule5)) -> rule6) OR ((triple2 ((((triple6) -> rule4)) -> rule5)) -> rule6) OR ((((((triple1 triple6) -> rule2)) -> rule3) triple4) -> rule6) OR ((((triple3) -> rule3) ((((triple6) -> rule4)) -> rule5)) -> rule6) OR ((((((triple1 triple6) -> rule2)) -> rule3) ((triple5) -> rule5)) -> rule6) OR ((((((triple1 triple6) -> rule2)) -> rule3) ((((triple6) -> rule4)) -> rule5)) -> rule6) OR ((((((triple1 ((triple4 triple5) -> rule1)) -> rule2)) -> rule3) triple4) -> rule6) OR ((((((triple1 ((triple4 triple5) -> rule1)) -> rule2)) -> rule3) ((triple5) -> rule5)) -> rule6) OR ((((((triple1 ((triple4 triple5) -> rule1)) -> rule2)) -> rule3) ((((triple6) -> rule4)) -> rule5)) -> rule6) OR ((((((triple1 ((((triple5) -> rule5) triple5) -> rule1)) -> rule2)) -> rule3) triple4) -> rule6) OR ((((((triple1 ((((triple5) -> rule5) triple5) -> rule1)) -> rule2)) -> rule3) ((triple5) -> rule5)) -> rule6) OR ((((((triple1 ((((triple5) -> rule5) triple5) -> rule1)) -> rule2)) -> rule3) ((((triple6) -> rule4)) -> rule5)) -> rule6))] Charlie is big.[(triple8)] Charlie is quiet.[(triple9)] Charlie is young.[(triple10 OR ((((((triple8 ((((triple9) -> rule5) triple9) -> rule1)) -> rule2)) -> rule3) ((triple9) -> rule5)) -> rule6))] Harry is green.[(triple11)] Harry is kind.[(triple12 OR ((triple13) -> rule5) OR ((((triple14) -> rule4)) -> rule5))] Harry is quiet.[(triple13 OR ((triple14) -> rule4))] Harry is red.[(triple14 OR ((triple12 triple13) -> rule1) OR ((((triple13) -> rule5) triple13) -> rule1))] Harry is young.[(triple15 OR ((((triple11) -> rule3) triple12) -> rule6) OR ((((triple11) -> rule3) ((triple13) -> rule5)) -> rule6) OR ((((triple11) -> rule3) ((((triple14) -> rule4)) -> rule5)) -> rule6))] @1: Charlie is kind.[(((triple9) -> rule5))] Harry is blue.[(((triple11) -> rule3))] @2: Charlie is red.[(((((triple9) -> rule5) triple9) -> rule1))] @3: Charlie is green.[(((triple8 ((((triple9) -> rule5) triple9) -> rule1)) -> rule2))] @4: Charlie is blue.[(((((triple8 ((((triple9) -> rule5) triple9) -> rule1)) -> rule2)) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
((triple3) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple1 triple6) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple1 ((triple4 triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple1 ((((triple5) -> (rule5 % int4)) triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
triple3
((triple1 triple6) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple1 ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple1 ((((triple5) -> (rule5 % int3)) triple5) -> (rule1 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
triple4
((triple5) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple5
((triple6) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple6
((triple4 triple5) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple5) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
triple7
((triple2 triple4) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple2 ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple3) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple3) -> (rule3 % int3)) ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((triple2 ((((triple6) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((((triple1 triple6) -> (rule2 % int3))) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((triple3) -> (rule3 % int4)) ((((triple6) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1 triple6) -> (rule2 % int4))) -> (rule3 % int3)) ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple1 triple6) -> (rule2 % int5))) -> (rule3 % int4)) ((((triple6) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((triple1 ((triple4 triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
((((((triple1 ((triple4 triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3)) ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
((((((triple1 ((triple4 triple5) -> (rule1 % int6))) -> (rule2 % int5))) -> (rule3 % int4)) ((((triple6) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Anne is red.
("Anne" "is" "red" "+")
int6
((((((triple1 ((((triple5) -> (rule5 % int5)) triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is kind.
("Anne" "is" "kind" "+")
int5
((((((triple1 ((((triple5) -> (rule5 % int5)) triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple5) -> (rule5 % int5))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is kind.
("Anne" "is" "kind" "+")
int5
((((((triple1 ((((triple5) -> (rule5 % int6)) triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3)) ((((triple6) -> (rule4 % int2))) -> (rule5 % int6))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is kind.
("Anne" "is" "kind" "+")
int6
Charlie is big.
("Charlie" "is" "big" "+")
triple8
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple9
Charlie is young.
("Charlie" "is" "young" "+")
triple10
((((((triple8 ((((triple9) -> (rule5 % int5)) triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple9) -> (rule5 % int5))) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
int5
Harry is green.
("Harry" "is" "green" "+")
triple11
Harry is kind.
("Harry" "is" "kind" "+")
triple12
((triple13) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple14) -> (rule4 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
triple13
((triple14) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple14
((triple12 triple13) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((triple13) -> (rule5 % int2)) triple13) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
triple15
((((triple11) -> (rule3 % int2)) triple12) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple11) -> (rule3 % int3)) ((triple13) -> (rule5 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((triple11) -> (rule3 % int4)) ((((triple14) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple9) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple11) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((((triple9) -> (rule5 % int2)) triple9) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((triple8 ((((triple9) -> (rule5 % int3)) triple9) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple8 ((((triple9) -> (rule5 % int4)) triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4