Bob is cold. Erin is rough. Fiona is round. If something is rough and green then it is round. All round, cold things are rough. If something is rough then it is green. If something is rough and kind then it is round. If something is blue then it is green. All kind, young things are green.
Bob is cold.
("Bob" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If something is rough and green then it is round.
((("something" "is" "rough" "+") ("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
All round, cold things are rough.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
If something is rough then it is green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If something is rough and kind then it is round.
((("something" "is" "rough" "+") ("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
If something is blue then it is green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
All kind, young things are green.
((("something" "is" "kind" "+") ("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Bob is cold.
True
1
proof
[(triple1)]
("Bob" "is" "cold" "+")
triple1
Erin is not rough.
False
1
inv-proof
[(triple2)]
("Erin" "is" "rough" "-")
triple2
Erin is green.
True
2
proof
[(((triple2) -> rule3))]
("Erin" "is" "green" "+")
((triple2) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is not green.
False
2
inv-proof
[(((triple2) -> rule3))]
("Erin" "is" "green" "-")
((triple2) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is round.
True
4
proof
[(((triple2 ((triple2) -> rule3)) -> rule1))]
("Erin" "is" "round" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is not round.
False
4
inv-proof
[(((triple2 ((triple2) -> rule3)) -> rule1))]
("Erin" "is" "round" "-")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "rough" "-")
Bob is round.
Unknown
rconc
[@3: Bob is round.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule4 <- FAIL)]]
("Bob" "is" "round" "+")
Fiona is not green.
Unknown
inv-rconc
[@2: Fiona is green.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Fiona" "is" "green" "-")
Erin is cold.
Unknown
random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "+")
Erin is not kind.
Unknown
inv-random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Bob is cold.[(triple1)] Erin is rough.[(triple2)] Fiona is round.[(triple3)] @1: Erin is green.[(((triple2) -> rule3))] @2: Erin is round.[(((triple2 ((triple2) -> rule3)) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Erin is rough.
("Erin" "is" "rough" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Erin is green.
("Erin" "is" "green" "+")
((triple2) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2