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