Charlie is furry. Erin is red. Fiona is rough. All furry things are smart. Smart, red things are young. All red things are furry.
Charlie is furry.
("Charlie" "is" "furry" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
All furry things are smart.
((("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
Smart, red things are young.
((("something" "is" "smart" "+") ("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
All red things are furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Erin is red.
True
1
proof
[(triple2)]
("Erin" "is" "red" "+")
triple2
Fiona is not rough.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "rough" "-")
triple3
Erin is furry.
True
2
proof
[(((triple2) -> rule3))]
("Erin" "is" "furry" "+")
((triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Charlie is not smart.
False
2
inv-proof
[(((triple1) -> rule1))]
("Charlie" "is" "smart" "-")
((triple1) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Erin is smart.
True
3
proof
[(((((triple2) -> rule3)) -> rule1))]
("Erin" "is" "smart" "+")
((((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is not smart.
False
3
inv-proof
[(((((triple2) -> rule3)) -> rule1))]
("Erin" "is" "smart" "-")
((((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is young.
True
5
proof
[(((((((triple2) -> rule3)) -> rule1) triple2) -> rule2))]
("Erin" "is" "young" "+")
((((((triple2) -> (rule3 % int3))) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is not young.
False
5
inv-proof
[(((((((triple2) -> rule3)) -> rule1) triple2) -> rule2))]
("Erin" "is" "young" "-")
((((((triple2) -> (rule3 % int3))) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is young.
Unknown
rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "young" "+")
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Fiona" "is" "smart" "-")
Charlie is young.
Unknown
rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "young" "+")
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Charlie is furry.[(triple1)] Erin is red.[(triple2)] Fiona is rough.[(triple3)] @1: Charlie is smart.[(((triple1) -> rule1))] Erin is furry.[(((triple2) -> rule3))] @2: Erin is smart.[(((((triple2) -> rule3)) -> rule1))] @3: Erin is young.[(((((((triple2) -> rule3)) -> rule1) triple2) -> rule2))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Erin is red.
("Erin" "is" "red" "+")
triple2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
((((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((((triple2) -> (rule3 % int3))) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3