Charlie is kind. Erin is nice. Erin is white. Fiona is cold. Fiona is furry. Fiona is not kind. Fiona is nice. Fiona is rough. Fiona is white. Harry is kind. Harry is rough. Nice people are cold. If someone is cold then they are furry. Kind people are nice. If someone is furry then they are not young. All furry, cold people are white. If someone is kind and not young then they are rough.
Charlie is kind.
("Charlie" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not kind.
("Fiona" "is" "kind" "-")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Nice people are cold.
((("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold then they are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If someone is furry then they are not young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "-"))
All furry, cold people are white.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
If someone is kind and not young then they are rough.
((("someone" "is" "kind" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "rough" "+"))
Fiona is furry.
True
1
proof
[(triple5 OR ((triple4) -> rule2) OR ((((triple7) -> rule1)) -> rule2))]
("Fiona" "is" "furry" "+")
triple5
((triple4) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is not rough.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "rough" "-")
triple8
Charlie is nice.
True
2
proof
[(((triple1) -> rule3))]
("Charlie" "is" "nice" "+")
((triple1) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Harry is not nice.
False
2
inv-proof
[(((triple10) -> rule3))]
("Harry" "is" "nice" "-")
((triple10) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Erin is furry.
True
3
proof
[(((((triple2) -> rule1)) -> rule2))]
("Erin" "is" "furry" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Harry is not cold.
False
3
inv-proof
[(((((triple10) -> rule3)) -> rule1))]
("Harry" "is" "cold" "-")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Erin is not young.
True
4
proof
[(((((((triple2) -> rule1)) -> rule2)) -> rule4))]
("Erin" "is" "young" "-")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is not young.
("Erin" "is" "young" "-")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Charlie is not furry.
False
4
inv-proof
[(((((((triple1) -> rule3)) -> rule1)) -> rule2))]
("Charlie" "is" "furry" "-")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Harry is white.
True
8
proof
[(((((((((triple10) -> rule3)) -> rule1)) -> rule2) ((((triple10) -> rule3)) -> rule1)) -> rule5))]
("Harry" "is" "white" "+")
((((((((triple10) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((((triple10) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule5 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Charlie is not white.
False
8
inv-proof
[(((((((((triple1) -> rule3)) -> rule1)) -> rule2) ((((triple1) -> rule3)) -> rule1)) -> rule5))]
("Charlie" "is" "white" "-")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is rough.
True
7
proof
[(((triple1 ((((((((triple1) -> rule3)) -> rule1)) -> rule2)) -> rule4)) -> rule6))]
("Charlie" "is" "rough" "+")
((triple1 ((((((((triple1) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Charlie is not rough.
False
7
inv-proof
[(((triple1 ((((((((triple1) -> rule3)) -> rule1)) -> rule2)) -> rule4)) -> rule6))]
("Charlie" "is" "rough" "-")
((triple1 ((((((((triple1) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Erin is not rough.
Unknown
inv-rconc
[@1: Erin is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "rough" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
@0: Charlie is kind.[(triple1)] Erin is nice.[(triple2)] Erin is white.[(triple3 OR ((((((triple2) -> rule1)) -> rule2) ((triple2) -> rule1)) -> rule5))] Fiona is cold.[(triple4 OR ((triple7) -> rule1))] Fiona is furry.[(triple5 OR ((triple4) -> rule2) OR ((((triple7) -> rule1)) -> rule2))] Fiona is nice.[(triple7)] Fiona is not kind.[(triple6)] Fiona is rough.[(triple8)] Fiona is white.[(triple9 OR ((triple5 triple4) -> rule5) OR ((triple5 ((triple7) -> rule1)) -> rule5) OR ((((triple4) -> rule2) triple4) -> rule5) OR ((((triple4) -> rule2) ((triple7) -> rule1)) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) triple4) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) ((triple7) -> rule1)) -> rule5))] Harry is kind.[(triple10)] Harry is rough.[(triple11 OR ((triple10 ((((((((triple10) -> rule3)) -> rule1)) -> rule2)) -> rule4)) -> rule6))] @1: Charlie is nice.[(((triple1) -> rule3))] Erin is cold.[(((triple2) -> rule1))] Fiona is not young.[(((triple5) -> rule4) OR ((((triple4) -> rule2)) -> rule4) OR ((((((triple7) -> rule1)) -> rule2)) -> rule4))] Harry is nice.[(((triple10) -> rule3))] @2: Charlie is cold.[(((((triple1) -> rule3)) -> rule1))] Erin is furry.[(((((triple2) -> rule1)) -> rule2))] Harry is cold.[(((((triple10) -> rule3)) -> rule1))] @3: Charlie is furry.[(((((((triple1) -> rule3)) -> rule1)) -> rule2))] Erin is not young.[(((((((triple2) -> rule1)) -> rule2)) -> rule4))] Harry is furry.[(((((((triple10) -> rule3)) -> rule1)) -> rule2))] @4: Charlie is not young.[(((((((((triple1) -> rule3)) -> rule1)) -> rule2)) -> rule4))] Charlie is white.[(((((((((triple1) -> rule3)) -> rule1)) -> rule2) ((((triple1) -> rule3)) -> rule1)) -> rule5))] Harry is not young.[(((((((((triple10) -> rule3)) -> rule1)) -> rule2)) -> rule4))] Harry is white.[(((((((((triple10) -> rule3)) -> rule1)) -> rule2) ((((triple10) -> rule3)) -> rule1)) -> rule5))] @5: Charlie is rough.[(((triple1 ((((((((triple1) -> rule3)) -> rule1)) -> rule2)) -> rule4)) -> rule6))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Erin is nice.
("Erin" "is" "nice" "+")
triple2
Erin is white.
("Erin" "is" "white" "+")
triple3
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2)) ((triple2) -> (rule1 % int3))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple4
((triple7) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
((triple4) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
Fiona is not kind.
("Fiona" "is" "kind" "-")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
Fiona is white.
("Fiona" "is" "white" "+")
triple9
((triple5 triple4) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple5 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple4) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple4) -> (rule2 % int3)) ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2)) ((triple7) -> (rule1 % int3))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
triple10
Harry is rough.
("Harry" "is" "rough" "+")
triple11
((triple10 ((((((((triple10) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is not young.
("Harry" "is" "young" "-")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Fiona is not young.
("Fiona" "is" "young" "-")
((triple5) -> (rule4 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
((((triple4) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is not young.
("Fiona" "is" "young" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
((triple10) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is not young.
("Erin" "is" "young" "-")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is not young.
("Erin" "is" "young" "-")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
((((((triple10) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Charlie is not young.
("Charlie" "is" "young" "-")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Harry is not young.
("Harry" "is" "young" "-")
((((((((triple10) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Harry is not young.
("Harry" "is" "young" "-")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is white.
("Harry" "is" "white" "+")
((((((((triple10) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((((triple10) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule5 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple1 ((((((((triple1) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5