Charlie is kind. Fiona is cold. Harry is furry. All cold things are furry. All cold things are kind. All kind things are furry. All big things are cold. Kind things are young. Furry things are round.
Charlie is kind.
("Charlie" "is" "kind" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
All cold things are furry.
((("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
All cold things are kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
All kind things are furry.
((("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
All big things are cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
Kind things are young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Furry things are round.
((("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
Charlie is kind.
True
1
proof
[(triple1)]
("Charlie" "is" "kind" "+")
triple1
Charlie is not kind.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "kind" "-")
triple1
Harry is round.
True
2
proof
[(((triple3) -> rule6))]
("Harry" "is" "round" "+")
((triple3) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is not round.
False
2
inv-proof
[(((triple3) -> rule6))]
("Harry" "is" "round" "-")
((triple3) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Fiona is round.
True
3
proof
[(((((triple2) -> rule1)) -> rule6) OR ((((((triple2) -> rule2)) -> rule3)) -> rule6))]
("Fiona" "is" "round" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is not round.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule6) OR ((((((triple2) -> rule2)) -> rule3)) -> rule6))]
("Fiona" "is" "round" "-")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Harry is not young.
Unknown
inv-rconc
[@3: Harry is young.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule4 <- FAIL)]]
("Harry" "is" "young" "-")
Harry is cold.
Unknown
rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "cold" "+")
Charlie is not cold.
Unknown
inv-rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "cold" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
Harry is not big.
Unknown
inv-random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
@0: Charlie is kind.[(triple1)] Fiona is cold.[(triple2)] Harry is furry.[(triple3)] @1: Charlie is furry.[(((triple1) -> rule3))] Charlie is young.[(((triple1) -> rule5))] Fiona is furry.[(((triple2) -> rule1) OR ((((triple2) -> rule2)) -> rule3))] Fiona is kind.[(((triple2) -> rule2))] Harry is round.[(((triple3) -> rule6))] @2: Charlie is round.[(((((triple1) -> rule3)) -> rule6))] Fiona is round.[(((((triple2) -> rule1)) -> rule6) OR ((((((triple2) -> rule2)) -> rule3)) -> rule6))] Fiona is young.[(((((triple2) -> rule2)) -> rule5))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
Harry is furry.
("Harry" "is" "furry" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple1) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple2) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple3) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2