Anne is blue. Anne is green. Anne is red. Anne is round. Anne is white. Anne is young. Bob is blue. Bob is red. Bob is young. Charlie is blue. Charlie is green. Charlie is red. Charlie is rough. Charlie is round. Charlie is white. Charlie is young. All rough, round people are young. All rough, young people are white. All red people are white. If someone is blue and red then they are green. All round people are rough. If Bob is white then Bob is round. All round people are red. If Bob is blue then Bob is young.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
All rough, round people are young.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
All rough, young people are white.
((("someone" "is" "rough" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
All red people are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
If someone is blue and red then they are green.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
All round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
If Bob is white then Bob is round.
((("Bob" "is" "white" "+")) -> ("Bob" "is" "round" "+"))
All round people are red.
((("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
If Bob is blue then Bob is young.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "young" "+"))
Charlie is young.
True
1
proof
[(triple16 OR ((triple13 triple14) -> rule1) OR ((((triple14) -> rule5) triple14) -> rule1))]
("Charlie" "is" "young" "+")
triple16
((triple13 triple14) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple14) -> (rule5 % int2)) triple14) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is not round.
False
1
inv-proof
[(triple14)]
("Charlie" "is" "round" "-")
triple14
Bob is white.
True
2
proof
[(((triple8) -> rule3))]
("Bob" "is" "white" "+")
((triple8) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Anne is not rough.
False
2
inv-proof
[(((triple4) -> rule5))]
("Anne" "is" "rough" "-")
((triple4) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Bob is round.
True
3
proof
[(((((triple8) -> rule3)) -> rule6))]
("Bob" "is" "round" "+")
((((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is not round.
False
3
inv-proof
[(((((triple8) -> rule3)) -> rule6))]
("Bob" "is" "round" "-")
((((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
@0: Anne is blue.[(triple1)] Anne is green.[(triple2 OR ((triple1 triple3) -> rule4) OR ((triple1 ((triple4) -> rule7)) -> rule4))] Anne is red.[(triple3 OR ((triple4) -> rule7))] Anne is round.[(triple4)] Anne is white.[(triple5 OR ((triple3) -> rule3) OR ((((triple4) -> rule7)) -> rule3) OR ((((triple4) -> rule5) triple6) -> rule2) OR ((((triple4) -> rule5) ((((triple4) -> rule5) triple4) -> rule1)) -> rule2))] Anne is young.[(triple6 OR ((((triple4) -> rule5) triple4) -> rule1))] Bob is blue.[(triple7)] Bob is red.[(triple8)] Bob is young.[(triple9 OR ((triple7) -> rule8) OR ((((((((triple8) -> rule3)) -> rule6)) -> rule5) ((((triple8) -> rule3)) -> rule6)) -> rule1))] Charlie is blue.[(triple10)] Charlie is green.[(triple11 OR ((triple10 triple12) -> rule4) OR ((triple10 ((triple14) -> rule7)) -> rule4))] Charlie is red.[(triple12 OR ((triple14) -> rule7))] Charlie is rough.[(triple13 OR ((triple14) -> rule5))] Charlie is round.[(triple14)] Charlie is white.[(triple15 OR ((triple12) -> rule3) OR ((triple13 triple16) -> rule2) OR ((((triple14) -> rule7)) -> rule3) OR ((triple13 ((triple13 triple14) -> rule1)) -> rule2) OR ((((triple14) -> rule5) triple16) -> rule2) OR ((((triple14) -> rule5) ((triple13 triple14) -> rule1)) -> rule2) OR ((triple13 ((((triple14) -> rule5) triple14) -> rule1)) -> rule2) OR ((((triple14) -> rule5) ((((triple14) -> rule5) triple14) -> rule1)) -> rule2))] Charlie is young.[(triple16 OR ((triple13 triple14) -> rule1) OR ((((triple14) -> rule5) triple14) -> rule1))] @1: Anne is rough.[(((triple4) -> rule5))] Bob is green.[(((triple7 triple8) -> rule4))] Bob is white.[(((triple8) -> rule3))] @2: Bob is round.[(((((triple8) -> rule3)) -> rule6))] @3: Bob is rough.[(((((((triple8) -> rule3)) -> rule6)) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
((triple1 triple3) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple1 ((triple4) -> (rule7 % int2))) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple3
((triple4) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
triple5
((triple3) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((((triple4) -> (rule7 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple4) -> (rule5 % int2)) triple6) -> (rule2 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple4) -> (rule5 % int3)) ((((triple4) -> (rule5 % int3)) triple4) -> (rule1 % int2))) -> (rule2 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
triple6
((((triple4) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
triple7
Bob is red.
("Bob" "is" "red" "+")
triple8
Bob is young.
("Bob" "is" "young" "+")
triple9
((triple7) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((((((triple8) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule5 % int2)) ((((triple8) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
triple10
Charlie is green.
("Charlie" "is" "green" "+")
triple11
((triple10 triple12) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((triple10 ((triple14) -> (rule7 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple12
((triple14) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple13
((triple14) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple14
Charlie is white.
("Charlie" "is" "white" "+")
triple15
((triple12) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((triple13 triple16) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple14) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((triple13 ((triple13 triple14) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple14) -> (rule5 % int2)) triple16) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple14) -> (rule5 % int3)) ((triple13 triple14) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((triple13 ((((triple14) -> (rule5 % int3)) triple14) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((triple14) -> (rule5 % int3)) ((((triple14) -> (rule5 % int3)) triple14) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple16
((triple13 triple14) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple14) -> (rule5 % int2)) triple14) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((triple7 triple8) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple8) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((((((triple8) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3