Anne is cold. Anne is furry. Anne is green. Anne is quiet. Anne is rough. Anne is round. Anne is smart. Charlie is furry. Charlie is green. Charlie is quiet. Charlie is rough. Charlie is smart. Dave is furry. Dave is green. Dave is rough. Dave is round. If something is furry and rough then it is smart. If Dave is furry then Dave is quiet. If Charlie is round then Charlie is furry. Quiet things are cold. All quiet, round things are furry. Furry, green things are rough.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
If something is furry and rough then it is smart.
((("something" "is" "furry" "+") ("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If Dave is furry then Dave is quiet.
((("Dave" "is" "furry" "+")) -> ("Dave" "is" "quiet" "+"))
If Charlie is round then Charlie is furry.
((("Charlie" "is" "round" "+")) -> ("Charlie" "is" "furry" "+"))
Quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
All quiet, round things are furry.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
Furry, green things are rough.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
Anne is furry.
True
1
proof
[(triple2 OR ((triple4 triple6) -> rule5))]
("Anne" "is" "furry" "+")
triple2
((triple4 triple6) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Charlie is not smart.
False
1
inv-proof
[(triple12 OR ((triple8 triple11) -> rule1) OR ((triple8 ((triple8 triple9) -> rule6)) -> rule1))]
("Charlie" "is" "smart" "-")
triple12
((triple8 triple11) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((triple8 ((triple8 triple9) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Dave is quiet.
True
2
proof
[(((triple13) -> rule2))]
("Dave" "is" "quiet" "+")
((triple13) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not quiet.
False
2
inv-proof
[(((triple13) -> rule2))]
("Dave" "is" "quiet" "-")
((triple13) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is cold.
True
3
proof
[(((((triple13) -> rule2)) -> rule4))]
("Dave" "is" "cold" "+")
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not cold.
False
3
inv-proof
[(((((triple13) -> rule2)) -> rule4))]
("Dave" "is" "cold" "-")
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
@0: Anne is cold.[(triple1 OR ((triple4) -> rule4))] Anne is furry.[(triple2 OR ((triple4 triple6) -> rule5))] Anne is green.[(triple3)] Anne is quiet.[(triple4)] Anne is rough.[(triple5 OR ((triple2 triple3) -> rule6) OR ((((triple4 triple6) -> rule5) triple3) -> rule6))] Anne is round.[(triple6)] Anne is smart.[(triple7 OR ((triple2 triple5) -> rule1) OR ((triple2 ((triple2 triple3) -> rule6)) -> rule1) OR ((((triple4 triple6) -> rule5) triple5) -> rule1) OR ((((triple4 triple6) -> rule5) ((triple2 triple3) -> rule6)) -> rule1) OR ((triple2 ((((triple4 triple6) -> rule5) triple3) -> rule6)) -> rule1) OR ((((triple4 triple6) -> rule5) ((((triple4 triple6) -> rule5) triple3) -> rule6)) -> rule1))] Charlie is furry.[(triple8)] Charlie is green.[(triple9)] Charlie is quiet.[(triple10)] Charlie is rough.[(triple11 OR ((triple8 triple9) -> rule6))] Charlie is smart.[(triple12 OR ((triple8 triple11) -> rule1) OR ((triple8 ((triple8 triple9) -> rule6)) -> rule1))] Dave is furry.[(triple13)] Dave is green.[(triple14)] Dave is rough.[(triple15 OR ((triple13 triple14) -> rule6))] Dave is round.[(triple16)] @1: Charlie is cold.[(((triple10) -> rule4))] Dave is quiet.[(((triple13) -> rule2))] Dave is smart.[(((triple13 triple15) -> rule1) OR ((triple13 ((triple13 triple14) -> rule6)) -> rule1))] @2: Dave is cold.[(((((triple13) -> rule2)) -> rule4))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple4) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple4 triple6) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple2 triple3) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple4 triple6) -> (rule5 % int2)) triple3) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
triple6
Anne is smart.
("Anne" "is" "smart" "+")
triple7
((triple2 triple5) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((triple2 ((triple2 triple3) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple4 triple6) -> (rule5 % int2)) triple5) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple4 triple6) -> (rule5 % int3)) ((triple2 triple3) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((triple2 ((((triple4 triple6) -> (rule5 % int3)) triple3) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((triple4 triple6) -> (rule5 % int3)) ((((triple4 triple6) -> (rule5 % int3)) triple3) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
Charlie is green.
("Charlie" "is" "green" "+")
triple9
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple10
Charlie is rough.
("Charlie" "is" "rough" "+")
triple11
((triple8 triple9) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple12
((triple8 triple11) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((triple8 ((triple8 triple9) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
triple13
Dave is green.
("Dave" "is" "green" "+")
triple14
Dave is rough.
("Dave" "is" "rough" "+")
triple15
((triple13 triple14) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple16
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple10) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple13) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple13 triple15) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple13 ((triple13 triple14) -> (rule6 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2