Dave is kind. Fiona is cold. If someone is cold then they are round. Furry people are round. If someone is round and green then they are kind. Nice people are kind. If Dave is cold and Dave is green then Dave is nice. If Fiona is round then Fiona is nice.
Dave is kind.
("Dave" "is" "kind" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
If someone is cold then they are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
Furry people are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If someone is round and green then they are kind.
((("someone" "is" "round" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
Nice people are kind.
((("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
If Dave is cold and Dave is green then Dave is nice.
((("Dave" "is" "cold" "+") ("Dave" "is" "green" "+")) -> ("Dave" "is" "nice" "+"))
If Fiona is round then Fiona is nice.
((("Fiona" "is" "round" "+")) -> ("Fiona" "is" "nice" "+"))
Dave is kind.
True
1
proof
[(triple1)]
("Dave" "is" "kind" "+")
triple1
Fiona is not cold.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "cold" "-")
triple2
Fiona is round.
True
2
proof
[(((triple2) -> rule1))]
("Fiona" "is" "round" "+")
((triple2) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple2) -> rule1))]
("Fiona" "is" "round" "-")
((triple2) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is nice.
True
3
proof
[(((((triple2) -> rule1)) -> rule6))]
("Fiona" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is not nice.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule6))]
("Fiona" "is" "nice" "-")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is kind.
True
4
proof
[(((((((triple2) -> rule1)) -> rule6)) -> rule4))]
("Fiona" "is" "kind" "+")
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is not kind.
False
4
inv-proof
[(((((((triple2) -> rule1)) -> rule6)) -> rule4))]
("Fiona" "is" "kind" "-")
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Dave is not round.
Unknown
inv-rconc
[@1: Dave is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "round" "-")
Dave is nice.
Unknown
rconc
[@1: Dave is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "nice" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
@0: Dave is kind.[(triple1)] Fiona is cold.[(triple2)] @1: Fiona is round.[(((triple2) -> rule1))] @2: Fiona is nice.[(((((triple2) -> rule1)) -> rule6))] @3: Fiona is kind.[(((((((triple2) -> rule1)) -> rule6)) -> rule4))]
Dave is kind.
("Dave" "is" "kind" "+")
triple1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
((triple2) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3