Erin is kind. Erin is nice. Erin is white. Fiona is not blue. Fiona is kind. Fiona is nice. Fiona is not rough. Fiona is round. Gary is not blue. Gary is white. Harry is not green. Harry is nice. Harry is round. Harry is not white. If Harry is white then Harry is not kind. If something is rough then it is not round. If something is white and not blue then it is rough. If something is rough and not round then it is nice. If something is nice and not white then it is kind. All nice, white things are kind. If something is blue and rough then it is green. Kind things are not green. If something is round and not kind then it is green.
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is not rough.
("Fiona" "is" "rough" "-")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is not blue.
("Gary" "is" "blue" "-")
Gary is white.
("Gary" "is" "white" "+")
Harry is not green.
("Harry" "is" "green" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is not white.
("Harry" "is" "white" "-")
If Harry is white then Harry is not kind.
((("Harry" "is" "white" "+")) -> ("Harry" "is" "kind" "-"))
If something is rough then it is not round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "-"))
If something is white and not blue then it is rough.
((("something" "is" "white" "+") ("something" "is" "blue" "~")) -> ("something" "is" "rough" "+"))
If something is rough and not round then it is nice.
((("something" "is" "rough" "+") ("something" "is" "round" "~")) -> ("something" "is" "nice" "+"))
If something is nice and not white then it is kind.
((("something" "is" "nice" "+") ("something" "is" "white" "~")) -> ("something" "is" "kind" "+"))
All nice, white things are kind.
((("something" "is" "nice" "+") ("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
If something is blue and rough then it is green.
((("something" "is" "blue" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
Kind things are not green.
((("something" "is" "kind" "+")) -> ("something" "is" "green" "-"))
If something is round and not kind then it is green.
((("something" "is" "round" "+") ("something" "is" "kind" "~")) -> ("something" "is" "green" "+"))
Fiona is not blue.
True
1
proof
[(triple4)]
("Fiona" "is" "blue" "-")
triple4
Fiona is blue.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "blue" "+")
triple4
Gary is rough.
True
3
proof
[(((triple10 triple9) -> rule3))]
("Gary" "is" "rough" "+")
((triple10 triple9) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Erin is green.
False
2
inv-proof
[(((triple1) -> rule8) OR ((((triple2 triple3) -> rule6)) -> rule8))]
("Erin" "is" "green" "+")
((triple1) -> (rule8 % int1))
Erin is not green.
("Erin" "is" "green" "-")
int1
((((triple2 triple3) -> (rule6 % int2))) -> (rule8 % int1))
Erin is not green.
("Erin" "is" "green" "-")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Gary is not round.
True
4
proof
[(((((triple10 triple9) -> rule3)) -> rule2))]
("Gary" "is" "round" "-")
((((triple10 triple9) -> (rule3 % int2))) -> (rule2 % int1))
Gary is not round.
("Gary" "is" "round" "-")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
False
4
inv-proof
[(((((triple10 triple9) -> rule3)) -> rule2))]
("Gary" "is" "round" "+")
((((triple10 triple9) -> (rule3 % int2))) -> (rule2 % int1))
Gary is not round.
("Gary" "is" "round" "-")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is nice.
True
8
proof
[(((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4))]
("Gary" "is" "nice" "+")
((((triple10 triple9) -> (rule3 % int3)) ((((triple10 triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not round.
("Gary" "is" "round" "-")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is not nice.
False
8
inv-proof
[(((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4))]
("Gary" "is" "nice" "-")
((((triple10 triple9) -> (rule3 % int3)) ((((triple10 triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not round.
("Gary" "is" "round" "-")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is kind.
True
10
proof
[(((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6))]
("Gary" "is" "kind" "+")
((((((triple10 triple9) -> (rule3 % int4)) ((((triple10 triple9) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple10) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not round.
("Gary" "is" "round" "-")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is not kind.
False
10
inv-proof
[(((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6))]
("Gary" "is" "kind" "-")
((((((triple10 triple9) -> (rule3 % int4)) ((((triple10 triple9) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple10) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not round.
("Gary" "is" "round" "-")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is not green.
True
11
proof
[(((((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6)) -> rule8))]
("Gary" "is" "green" "-")
((((((((triple10 triple9) -> (rule3 % int5)) ((((triple10 triple9) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule4 % int3)) triple10) -> (rule6 % int2))) -> (rule8 % int1))
Gary is not green.
("Gary" "is" "green" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not round.
("Gary" "is" "round" "-")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Gary is green.
False
11
inv-proof
[(((((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6)) -> rule8))]
("Gary" "is" "green" "+")
((((((((triple10 triple9) -> (rule3 % int5)) ((((triple10 triple9) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule4 % int3)) triple10) -> (rule6 % int2))) -> (rule8 % int1))
Gary is not green.
("Gary" "is" "green" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not round.
("Gary" "is" "round" "-")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Erin is not rough.
Unknown
inv-rconc
[@1: Erin is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "rough" "-")
Harry is rough.
Unknown
rconc
[@1: Harry is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "rough" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
@0: Erin is kind.[(triple1 OR ((triple2 triple3) -> rule6))] Erin is nice.[(triple2)] Erin is white.[(triple3)] Fiona is kind.[(triple5)] Fiona is nice.[(triple6)] Fiona is not blue.[(triple4)] Fiona is not rough.[(triple7)] Fiona is round.[(triple8)] Gary is not blue.[(triple9)] Gary is white.[(triple10)] Harry is nice.[(triple12)] Harry is not green.[(triple11 OR ((((triple12 triple14) -> rule5)) -> rule8))] Harry is not white.[(triple14)] Harry is round.[(triple13)] @1: Erin is not green.[(((triple1) -> rule8) OR ((((triple2 triple3) -> rule6)) -> rule8))] Fiona is not green.[(((triple5) -> rule8))] Gary is rough.[(((triple10 triple9) -> rule3))] Harry is kind.[(((triple12 triple14) -> rule5))] @2: Gary is not round.[(((((triple10 triple9) -> rule3)) -> rule2))] @3: Gary is nice.[(((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4))] @4: Gary is kind.[(((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6))] @5: Gary is not green.[(((((((((triple10 triple9) -> rule3) ((((triple10 triple9) -> rule3)) -> rule2)) -> rule4) triple10) -> rule6)) -> rule8))]
Erin is kind.
("Erin" "is" "kind" "+")
triple1
((triple2 triple3) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple2
Erin is white.
("Erin" "is" "white" "+")
triple3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple4
Fiona is not rough.
("Fiona" "is" "rough" "-")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
triple8
Gary is not blue.
("Gary" "is" "blue" "-")
triple9
Gary is white.
("Gary" "is" "white" "+")
triple10
Harry is nice.
("Harry" "is" "nice" "+")
triple12
Harry is not green.
("Harry" "is" "green" "-")
triple11
((((triple12 triple14) -> (rule5 % int2))) -> (rule8 % int1))
Harry is not green.
("Harry" "is" "green" "-")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is not white.
("Harry" "is" "white" "-")
triple14
Harry is round.
("Harry" "is" "round" "+")
triple13
Erin is not green.
("Erin" "is" "green" "-")
((triple1) -> (rule8 % int1))
Erin is not green.
("Erin" "is" "green" "-")
int1
((((triple2 triple3) -> (rule6 % int2))) -> (rule8 % int1))
Erin is not green.
("Erin" "is" "green" "-")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Fiona is not green.
("Fiona" "is" "green" "-")
((triple5) -> (rule8 % int1))
Fiona is not green.
("Fiona" "is" "green" "-")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple10 triple9) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple12 triple14) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Gary is not round.
("Gary" "is" "round" "-")
((((triple10 triple9) -> (rule3 % int2))) -> (rule2 % int1))
Gary is not round.
("Gary" "is" "round" "-")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((triple10 triple9) -> (rule3 % int3)) ((((triple10 triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not round.
("Gary" "is" "round" "-")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
((((((triple10 triple9) -> (rule3 % int4)) ((((triple10 triple9) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple10) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not round.
("Gary" "is" "round" "-")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is not green.
("Gary" "is" "green" "-")
((((((((triple10 triple9) -> (rule3 % int5)) ((((triple10 triple9) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule4 % int3)) triple10) -> (rule6 % int2))) -> (rule8 % int1))
Gary is not green.
("Gary" "is" "green" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not round.
("Gary" "is" "round" "-")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5