Anne is kind. Erin is kind. Fiona is smart. If something is kind then it is cold. If something is kind and cold then it is furry. If Fiona is furry and Fiona is round then Fiona is young. Nice, round things are smart. Round things are young. If something is furry then it is smart.
Anne is kind.
("Anne" "is" "kind" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If something is kind then it is cold.
((("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If something is kind and cold then it is furry.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
If Fiona is furry and Fiona is round then Fiona is young.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "young" "+"))
Nice, round things are smart.
((("something" "is" "nice" "+") ("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
Round things are young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
If something is furry then it is smart.
((("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
Fiona is smart.
True
1
proof
[(triple3)]
("Fiona" "is" "smart" "+")
triple3
Fiona is not smart.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "smart" "-")
triple3
Erin is cold.
True
2
proof
[(((triple2) -> rule1))]
("Erin" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is not cold.
False
2
inv-proof
[(((triple2) -> rule1))]
("Erin" "is" "cold" "-")
((triple2) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Anne is furry.
True
4
proof
[(((triple1 ((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is not furry.
False
4
inv-proof
[(((triple1 ((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "-")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Erin is smart.
True
5
proof
[(((((triple2 ((triple2) -> rule1)) -> rule2)) -> rule6))]
("Erin" "is" "smart" "+")
((((triple2 ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Anne is not smart.
False
5
inv-proof
[(((((triple1 ((triple1) -> rule1)) -> rule2)) -> rule6))]
("Anne" "is" "smart" "-")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Erin is not young.
Unknown
inv-rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "young" "-")
Fiona is cold.
Unknown
rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "cold" "+")
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is young.
Unknown
rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "young" "+")
Anne is not nice.
Unknown
inv-random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Erin is nice.
Unknown
random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "+")
@0: Anne is kind.[(triple1)] Erin is kind.[(triple2)] Fiona is smart.[(triple3)] @1: Anne is cold.[(((triple1) -> rule1))] Erin is cold.[(((triple2) -> rule1))] @2: Anne is furry.[(((triple1 ((triple1) -> rule1)) -> rule2))] Erin is furry.[(((triple2 ((triple2) -> rule1)) -> rule2))] @3: Anne is smart.[(((((triple1 ((triple1) -> rule1)) -> rule2)) -> rule6))] Erin is smart.[(((((triple2 ((triple2) -> rule1)) -> rule2)) -> rule6))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Erin is kind.
("Erin" "is" "kind" "+")
triple2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple3
Anne is cold.
("Anne" "is" "cold" "+")
((triple1) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
((((triple2 ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3