Bob is not kind. Bob is round. Fiona is red. Blue things are not kind. All red things are blue. White things are blue. All round things are big. If something is white and blue then it is not big. If Fiona is big then Fiona is round. If something is red and not round then it is young. If Fiona is not young then Fiona is kind.
Bob is not kind.
("Bob" "is" "kind" "-")
Bob is round.
("Bob" "is" "round" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Blue things are not kind.
((("something" "is" "blue" "+")) -> ("something" "is" "kind" "-"))
All red things are blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
White things are blue.
((("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
All round things are big.
((("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is white and blue then it is not big.
((("something" "is" "white" "+") ("something" "is" "blue" "+")) -> ("something" "is" "big" "-"))
If Fiona is big then Fiona is round.
((("Fiona" "is" "big" "+")) -> ("Fiona" "is" "round" "+"))
If something is red and not round then it is young.
((("something" "is" "red" "+") ("something" "is" "round" "~")) -> ("something" "is" "young" "+"))
If Fiona is not young then Fiona is kind.
((("Fiona" "is" "young" "~")) -> ("Fiona" "is" "kind" "+"))
Bob is round.
True
1
proof
[(triple2)]
("Bob" "is" "round" "+")
triple2
Fiona is not red.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "red" "-")
triple3
Fiona is blue.
True
2
proof
[(((triple3) -> rule2))]
("Fiona" "is" "blue" "+")
((triple3) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is not big.
False
2
inv-proof
[(((triple2) -> rule4))]
("Bob" "is" "big" "-")
((triple2) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Fiona is not kind.
True
3
proof
[(((((triple3) -> rule2)) -> rule1))]
("Fiona" "is" "kind" "-")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is kind.
False
3
inv-proof
[(((((triple3) -> rule2)) -> rule1))]
("Fiona" "is" "kind" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is big.
Unknown
rconc
[@2: Fiona is big.[CWA. Example of deepest failure = (rule4 <- rule6 <- FAIL)]]
("Fiona" "is" "big" "+")
Fiona is not round.
Unknown
inv-rconc
[@2: Fiona is round.[CWA. Example of deepest failure = (rule6 <- rule4 <- FAIL)]]
("Fiona" "is" "round" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is not kind.[(triple1)] Bob is round.[(triple2)] Fiona is red.[(triple3)] @1: Bob is big.[(((triple2) -> rule4))] Fiona is blue.[(((triple3) -> rule2))] @2: Fiona is not kind.[(((((triple3) -> rule2)) -> rule1))]
Bob is not kind.
("Bob" "is" "kind" "-")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
Fiona is red.
("Fiona" "is" "red" "+")
triple3
Bob is big.
("Bob" "is" "big" "+")
((triple2) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple3) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is not kind.
("Fiona" "is" "kind" "-")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2