Dave is round. Fiona is kind. Gary is kind. All round people are big. If someone is big then they are red. All red people are furry.
Dave is round.
("Dave" "is" "round" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Gary is kind.
("Gary" "is" "kind" "+")
All round people are big.
((("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
If someone is big then they are red.
((("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
All red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
Fiona is kind.
True
1
proof
[(triple2)]
("Fiona" "is" "kind" "+")
triple2
Fiona is not kind.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "kind" "-")
triple2
Dave is big.
True
2
proof
[(((triple1) -> rule1))]
("Dave" "is" "big" "+")
((triple1) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is not big.
False
2
inv-proof
[(((triple1) -> rule1))]
("Dave" "is" "big" "-")
((triple1) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
True
3
proof
[(((((triple1) -> rule1)) -> rule2))]
("Dave" "is" "red" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is not red.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule2))]
("Dave" "is" "red" "-")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
True
4
proof
[(((((((triple1) -> rule1)) -> rule2)) -> rule3))]
("Dave" "is" "furry" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is not furry.
False
4
inv-proof
[(((((((triple1) -> rule1)) -> rule2)) -> rule3))]
("Dave" "is" "furry" "-")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Gary is not furry.
Unknown
inv-rconc
[@3: Gary is furry.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule1 <- FAIL)]]
("Gary" "is" "furry" "-")
Fiona is big.
Unknown
rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "big" "+")
Fiona is not red.
Unknown
inv-rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Fiona" "is" "red" "-")
Gary is big.
Unknown
rconc
[@1: Gary is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "big" "+")
Dave is not smart.
Unknown
inv-random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Gary is not nice.
Unknown
inv-random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Dave is round.[(triple1)] Fiona is kind.[(triple2)] Gary is kind.[(triple3)] @1: Dave is big.[(((triple1) -> rule1))] @2: Dave is red.[(((((triple1) -> rule1)) -> rule2))] @3: Dave is furry.[(((((((triple1) -> rule1)) -> rule2)) -> rule3))]
Dave is round.
("Dave" "is" "round" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
Gary is kind.
("Gary" "is" "kind" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
((triple1) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3