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