Charlie is kind. Charlie is nice. Charlie is quiet. Charlie is round. Charlie is white. Erin is blue. Erin is kind. Erin is nice. Erin is round. Erin is white. Erin is young. Harry is blue. Harry is quiet. Harry is white. Harry is young. Blue things are round. If Harry is blue then Harry is kind. If Charlie is young and Charlie is nice then Charlie is round. If something is kind and white then it is young. All round, blue things are nice. If something is quiet and nice then it is blue. If Erin is nice then Erin is young. Quiet, kind things are young.
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
Blue things are round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If Harry is blue then Harry is kind.
((("Harry" "is" "blue" "+")) -> ("Harry" "is" "kind" "+"))
If Charlie is young and Charlie is nice then Charlie is round.
((("Charlie" "is" "young" "+") ("Charlie" "is" "nice" "+")) -> ("Charlie" "is" "round" "+"))
If something is kind and white then it is young.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
All round, blue things are nice.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is quiet and nice then it is blue.
((("something" "is" "quiet" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
If Erin is nice then Erin is young.
((("Erin" "is" "nice" "+")) -> ("Erin" "is" "young" "+"))
Quiet, kind things are young.
((("something" "is" "quiet" "+") ("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Charlie is round.
True
1
proof
[(triple4 OR ((((triple3 triple2) -> rule6)) -> rule1) OR ((((triple1 triple5) -> rule4) triple2) -> rule3) OR ((((triple3 triple1) -> rule8) triple2) -> rule3))]
("Charlie" "is" "round" "+")
triple4
((((triple3 triple2) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple1 triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple3 triple1) -> (rule8 % int2)) triple2) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Erin is not nice.
False
1
inv-proof
[(triple8 OR ((triple9 triple6) -> rule5) OR ((((triple6) -> rule1) triple6) -> rule5))]
("Erin" "is" "nice" "-")
triple8
((triple9 triple6) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule1 % int2)) triple6) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Charlie is blue.
True
3
proof
[(((triple3 triple2) -> rule6))]
("Charlie" "is" "blue" "+")
((triple3 triple2) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is not young.
False
3
inv-proof
[(((triple1 triple5) -> rule4) OR ((triple3 triple1) -> rule8))]
("Charlie" "is" "young" "-")
((triple1 triple5) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple3 triple1) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Harry is nice.
True
4
proof
[(((((triple12) -> rule1) triple12) -> rule5))]
("Harry" "is" "nice" "+")
((((triple12) -> (rule1 % int2)) triple12) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is not nice.
False
4
inv-proof
[(((((triple12) -> rule1) triple12) -> rule5))]
("Harry" "is" "nice" "-")
((((triple12) -> (rule1 % int2)) triple12) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
@0: Charlie is kind.[(triple1)] Charlie is nice.[(triple2)] Charlie is quiet.[(triple3)] Charlie is round.[(triple4 OR ((((triple3 triple2) -> rule6)) -> rule1) OR ((((triple1 triple5) -> rule4) triple2) -> rule3) OR ((((triple3 triple1) -> rule8) triple2) -> rule3))] Charlie is white.[(triple5)] Erin is blue.[(triple6)] Erin is kind.[(triple7)] Erin is nice.[(triple8 OR ((triple9 triple6) -> rule5) OR ((((triple6) -> rule1) triple6) -> rule5))] Erin is round.[(triple9 OR ((triple6) -> rule1))] Erin is white.[(triple10)] Erin is young.[(triple11 OR ((triple8) -> rule7) OR ((triple7 triple10) -> rule4) OR ((((triple9 triple6) -> rule5)) -> rule7) OR ((((((triple6) -> rule1) triple6) -> rule5)) -> rule7))] Harry is blue.[(triple12)] Harry is quiet.[(triple13)] Harry is white.[(triple14)] Harry is young.[(triple15 OR ((triple13 ((triple12) -> rule2)) -> rule8) OR ((((triple12) -> rule2) triple14) -> rule4))] @1: Charlie is blue.[(((triple3 triple2) -> rule6))] Charlie is young.[(((triple1 triple5) -> rule4) OR ((triple3 triple1) -> rule8))] Harry is kind.[(((triple12) -> rule2))] Harry is round.[(((triple12) -> rule1))] @2: Harry is nice.[(((((triple12) -> rule1) triple12) -> rule5))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((((triple3 triple2) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple1 triple5) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple3 triple1) -> (rule8 % int2)) triple2) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is kind.
("Erin" "is" "kind" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple8
((triple9 triple6) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule1 % int2)) triple6) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple9
((triple6) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple10
Erin is young.
("Erin" "is" "young" "+")
triple11
((triple8) -> (rule7 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple7 triple10) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple9 triple6) -> (rule5 % int2))) -> (rule7 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((((triple6) -> (rule1 % int3)) triple6) -> (rule5 % int2))) -> (rule7 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
triple12
Harry is quiet.
("Harry" "is" "quiet" "+")
triple13
Harry is white.
("Harry" "is" "white" "+")
triple14
Harry is young.
("Harry" "is" "young" "+")
triple15
((triple13 ((triple12) -> (rule2 % int2))) -> (rule8 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((triple12) -> (rule2 % int2)) triple14) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple3 triple2) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple1 triple5) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple3 triple1) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple12) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple12) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((((triple12) -> (rule1 % int2)) triple12) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2