Dave is red. Fiona is quiet. If someone is quiet then they are red. If someone is round then they are not big. Red people are kind. If Dave is kind and Dave is red then Dave is round. Kind people are not furry. White people are furry.
Dave is red.
("Dave" "is" "red" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
If someone is quiet then they are red.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
If someone is round then they are not big.
((("someone" "is" "round" "+")) -> ("someone" "is" "big" "-"))
Red people are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
If Dave is kind and Dave is red then Dave is round.
((("Dave" "is" "kind" "+") ("Dave" "is" "red" "+")) -> ("Dave" "is" "round" "+"))
Kind people are not furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "-"))
White people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
Fiona is quiet.
True
1
proof
[(triple2)]
("Fiona" "is" "quiet" "+")
triple2
Fiona is not quiet.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "quiet" "-")
triple2
Dave is kind.
True
2
proof
[(((triple1) -> rule3))]
("Dave" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple1) -> rule3))]
("Dave" "is" "kind" "-")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is kind.
True
3
proof
[(((((triple2) -> rule1)) -> rule3))]
("Fiona" "is" "kind" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is not kind.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule3))]
("Fiona" "is" "kind" "-")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Dave is not big.
True
5
proof
[(((((((triple1) -> rule3) triple1) -> rule4)) -> rule2))]
("Dave" "is" "big" "-")
((((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule2 % int1))
Dave is not big.
("Dave" "is" "big" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is big.
False
5
inv-proof
[(((((((triple1) -> rule3) triple1) -> rule4)) -> rule2))]
("Dave" "is" "big" "+")
((((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule2 % int1))
Dave is not big.
("Dave" "is" "big" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Fiona is not round.
Unknown
inv-random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
@0: Dave is red.[(triple1)] Fiona is quiet.[(triple2)] @1: Dave is kind.[(((triple1) -> rule3))] Fiona is red.[(((triple2) -> rule1))] @2: Dave is not furry.[(((((triple1) -> rule3)) -> rule5))] Dave is round.[(((((triple1) -> rule3) triple1) -> rule4))] Fiona is kind.[(((((triple2) -> rule1)) -> rule3))] @3: Dave is not big.[(((((((triple1) -> rule3) triple1) -> rule4)) -> rule2))] Fiona is not furry.[(((((((triple2) -> rule1)) -> rule3)) -> rule5))]
Dave is red.
("Dave" "is" "red" "+")
triple1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple2) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Dave is not furry.
("Dave" "is" "furry" "-")
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Dave is not furry.
("Dave" "is" "furry" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((triple1) -> (rule3 % int2)) triple1) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Dave is not big.
("Dave" "is" "big" "-")
((((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule2 % int1))
Dave is not big.
("Dave" "is" "big" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Fiona is not furry.
("Fiona" "is" "furry" "-")
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3