Bob is blue. Bob is green. Bob is round. Bob is white. Bob is young. Fiona is blue. Fiona is furry. Fiona is green. Fiona is red. Fiona is round. Fiona is white. Fiona is young. Furry people are red. All red, white people are young. All blue people are furry.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
All red, white people are young.
((("someone" "is" "red" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
All blue people are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
Fiona is green.
True
1
proof
[(triple8)]
("Fiona" "is" "green" "+")
triple8
Fiona is not green.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "green" "-")
triple8
Bob is furry.
True
2
proof
[(((triple1) -> rule3))]
("Bob" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not furry.
False
2
inv-proof
[(((triple1) -> rule3))]
("Bob" "is" "furry" "-")
((triple1) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
True
3
proof
[(((((triple1) -> rule3)) -> rule1))]
("Bob" "is" "red" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is not red.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule1))]
("Bob" "is" "red" "-")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
@0: Bob is blue.[(triple1)] Bob is green.[(triple2)] Bob is round.[(triple3)] Bob is white.[(triple4)] Bob is young.[(triple5 OR ((((((triple1) -> rule3)) -> rule1) triple4) -> rule2))] Fiona is blue.[(triple6)] Fiona is furry.[(triple7 OR ((triple6) -> rule3))] Fiona is green.[(triple8)] Fiona is red.[(triple9 OR ((triple7) -> rule1) OR ((((triple6) -> rule3)) -> rule1))] Fiona is round.[(triple10)] Fiona is white.[(triple11)] Fiona is young.[(triple12 OR ((triple9 triple11) -> rule2) OR ((((triple7) -> rule1) triple11) -> rule2) OR ((((((triple6) -> rule3)) -> rule1) triple11) -> rule2))] @1: Bob is furry.[(((triple1) -> rule3))] @2: Bob is red.[(((((triple1) -> rule3)) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
triple5
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2)) triple4) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
Fiona is furry.
("Fiona" "is" "furry" "+")
triple7
((triple6) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple8
Fiona is red.
("Fiona" "is" "red" "+")
triple9
((triple7) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple10
Fiona is white.
("Fiona" "is" "white" "+")
triple11
Fiona is young.
("Fiona" "is" "young" "+")
triple12
((triple9 triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple7) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2