Charlie is big. Charlie is blue. Charlie is furry. Charlie is green. Charlie is rough. Charlie is smart. Fiona is big. Fiona is blue. Fiona is furry. Fiona is green. Fiona is rough. Fiona is smart. If Charlie is blue and Charlie is red then Charlie is furry. Rough, smart things are red. Smart, big things are furry.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If Charlie is blue and Charlie is red then Charlie is furry.
((("Charlie" "is" "blue" "+") ("Charlie" "is" "red" "+")) -> ("Charlie" "is" "furry" "+"))
Rough, smart things are red.
((("something" "is" "rough" "+") ("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
Smart, big things are furry.
((("something" "is" "smart" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
Fiona is green.
True
1
proof
[(triple10)]
("Fiona" "is" "green" "+")
triple10
Charlie is not big.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "big" "-")
triple1
Fiona is red.
True
3
proof
[(((triple11 triple12) -> rule2))]
("Fiona" "is" "red" "+")
((triple11 triple12) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is not red.
False
3
inv-proof
[(((triple11 triple12) -> rule2))]
("Fiona" "is" "red" "-")
((triple11 triple12) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2)] Charlie is furry.[(triple3 OR ((triple6 triple1) -> rule3) OR ((triple2 ((triple5 triple6) -> rule2)) -> rule1))] Charlie is green.[(triple4)] Charlie is rough.[(triple5)] Charlie is smart.[(triple6)] Fiona is big.[(triple7)] Fiona is blue.[(triple8)] Fiona is furry.[(triple9 OR ((triple12 triple7) -> rule3))] Fiona is green.[(triple10)] Fiona is rough.[(triple11)] Fiona is smart.[(triple12)] @1: Charlie is red.[(((triple5 triple6) -> rule2))] Fiona is red.[(((triple11 triple12) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
((triple6 triple1) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple2 ((triple5 triple6) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
((triple12 triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple10
Fiona is rough.
("Fiona" "is" "rough" "+")
triple11
Fiona is smart.
("Fiona" "is" "smart" "+")
triple12
Charlie is red.
("Charlie" "is" "red" "+")
((triple5 triple6) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple11 triple12) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1