Anne is young. Charlie is round. Erin is red. Fiona is round. If Fiona is rough then Fiona is furry. If Fiona is cold and Fiona is young then Fiona is furry. If someone is red then they are young. If someone is red and young then they are cold. All furry people are young. All round people are red.
Anne is young.
("Anne" "is" "young" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If Fiona is rough then Fiona is furry.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "furry" "+"))
If Fiona is cold and Fiona is young then Fiona is furry.
((("Fiona" "is" "cold" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "furry" "+"))
If someone is red then they are young.
((("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
If someone is red and young then they are cold.
((("someone" "is" "red" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
All furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
All round people are red.
((("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
Fiona is round.
True
1
proof
[(triple4)]
("Fiona" "is" "round" "+")
triple4
Anne is not young.
False
1
inv-proof
[(triple1)]
("Anne" "is" "young" "-")
triple1
Fiona is red.
True
2
proof
[(((triple4) -> rule6))]
("Fiona" "is" "red" "+")
((triple4) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple3) -> rule3))]
("Erin" "is" "young" "-")
((triple3) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is young.
True
3
proof
[(((((triple4) -> rule6)) -> rule3))]
("Fiona" "is" "young" "+")
((((triple4) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is not young.
False
3
inv-proof
[(((((triple4) -> rule6)) -> rule3))]
("Fiona" "is" "young" "-")
((((triple4) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Charlie is cold.
True
6
proof
[(((((triple2) -> rule6) ((((triple2) -> rule6)) -> rule3)) -> rule4))]
("Charlie" "is" "cold" "+")
((((triple2) -> (rule6 % int3)) ((((triple2) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Fiona is not cold.
False
6
inv-proof
[(((((triple4) -> rule6) ((((triple4) -> rule6)) -> rule3)) -> rule4))]
("Fiona" "is" "cold" "-")
((((triple4) -> (rule6 % int3)) ((((triple4) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Anne is not cold.
Unknown
inv-rconc
[@2: Anne is cold.[CWA. Example of deepest failure = (rule4 <- rule6 <- FAIL)]]
("Anne" "is" "cold" "-")
Anne is red.
Unknown
rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "red" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
Charlie is not white.
Unknown
inv-random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
@0: Anne is young.[(triple1)] Charlie is round.[(triple2)] Erin is red.[(triple3)] Fiona is round.[(triple4)] @1: Charlie is red.[(((triple2) -> rule6))] Erin is young.[(((triple3) -> rule3))] Fiona is red.[(((triple4) -> rule6))] @2: Charlie is young.[(((((triple2) -> rule6)) -> rule3))] Erin is cold.[(((triple3 ((triple3) -> rule3)) -> rule4))] Fiona is young.[(((((triple4) -> rule6)) -> rule3))] @3: Charlie is cold.[(((((triple2) -> rule6) ((((triple2) -> rule6)) -> rule3)) -> rule4))] Fiona is cold.[(((((triple4) -> rule6) ((((triple4) -> rule6)) -> rule3)) -> rule4))] @4: Fiona is furry.[(((((((triple4) -> rule6) ((((triple4) -> rule6)) -> rule3)) -> rule4) ((((triple4) -> rule6)) -> rule3)) -> rule2))]
Anne is young.
("Anne" "is" "young" "+")
triple1
Charlie is round.
("Charlie" "is" "round" "+")
triple2
Erin is red.
("Erin" "is" "red" "+")
triple3
Fiona is round.
("Fiona" "is" "round" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
((triple2) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple3) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple4) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((((triple2) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((triple3 ((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((((triple4) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple2) -> (rule6 % int3)) ((((triple2) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple4) -> (rule6 % int3)) ((((triple4) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple4) -> (rule6 % int4)) ((((triple4) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((((triple4) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4