Charlie is green. Charlie is quiet. Erin is red. Erin is rough. Erin is round. Erin is white. Fiona is nice. Fiona is red. Harry is green. Harry is white. All quiet, rough things are red. Red, green things are nice. All quiet, red things are round. If something is green and round then it is rough. All nice things are quiet. If Harry is red and Harry is quiet then Harry is green. Green, white things are red.
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is white.
("Harry" "is" "white" "+")
All quiet, rough things are red.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
Red, green things are nice.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
All quiet, red things are round.
((("something" "is" "quiet" "+") ("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
If something is green and round then it is rough.
((("something" "is" "green" "+") ("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
All nice things are quiet.
((("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
If Harry is red and Harry is quiet then Harry is green.
((("Harry" "is" "red" "+") ("Harry" "is" "quiet" "+")) -> ("Harry" "is" "green" "+"))
Green, white things are red.
((("something" "is" "green" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
Erin is round.
True
1
proof
[(triple5)]
("Erin" "is" "round" "+")
triple5
Fiona is not red.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "red" "-")
triple8
Fiona is quiet.
True
2
proof
[(((triple7) -> rule5))]
("Fiona" "is" "quiet" "+")
((triple7) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Harry is not red.
False
3
inv-proof
[(((triple9 triple10) -> rule7))]
("Harry" "is" "red" "-")
((triple9 triple10) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Fiona is round.
True
4
proof
[(((((triple7) -> rule5) triple8) -> rule3))]
("Fiona" "is" "round" "+")
((((triple7) -> (rule5 % int2)) triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is not round.
False
4
inv-proof
[(((((triple7) -> rule5) triple8) -> rule3))]
("Fiona" "is" "round" "-")
((((triple7) -> (rule5 % int2)) triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Harry is quiet.
True
6
proof
[(((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5))]
("Harry" "is" "quiet" "+")
((((((triple9 triple10) -> (rule7 % int3)) triple9) -> (rule2 % int2))) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is not quiet.
False
6
inv-proof
[(((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5))]
("Harry" "is" "quiet" "-")
((((((triple9 triple10) -> (rule7 % int3)) triple9) -> (rule2 % int2))) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is round.
True
10
proof
[(((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3))]
("Harry" "is" "round" "+")
((((((((triple9 triple10) -> (rule7 % int4)) triple9) -> (rule2 % int3))) -> (rule5 % int2)) ((triple9 triple10) -> (rule7 % int4))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is not round.
False
10
inv-proof
[(((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3))]
("Harry" "is" "round" "-")
((((((((triple9 triple10) -> (rule7 % int4)) triple9) -> (rule2 % int3))) -> (rule5 % int2)) ((triple9 triple10) -> (rule7 % int4))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is rough.
True
12
proof
[(((triple9 ((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3)) -> rule4))]
("Harry" "is" "rough" "+")
((triple9 ((((((((triple9 triple10) -> (rule7 % int5)) triple9) -> (rule2 % int4))) -> (rule5 % int3)) ((triple9 triple10) -> (rule7 % int5))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Harry is not rough.
False
12
inv-proof
[(((triple9 ((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3)) -> rule4))]
("Harry" "is" "rough" "-")
((triple9 ((((((((triple9 triple10) -> (rule7 % int5)) triple9) -> (rule2 % int4))) -> (rule5 % int3)) ((triple9 triple10) -> (rule7 % int5))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Erin is not quiet.
Unknown
inv-rconc
[@2: Erin is quiet.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Erin" "is" "quiet" "-")
Charlie is rough.
Unknown
rconc
[@3: Charlie is rough.[CWA. Example of deepest failure = (rule4 <- rule3 <- rule1 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not nice.
Unknown
inv-rconc
[@5: Charlie is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule4 <- rule3 <- rule7 <- FAIL)]]
("Charlie" "is" "nice" "-")
Fiona is rough.
Unknown
rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "rough" "+")
Erin is not nice.
Unknown
inv-rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "nice" "-")
Charlie is red.
Unknown
rconc
[@4: Charlie is red.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule3 <- rule7 <- FAIL)]]
("Charlie" "is" "red" "+")
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Charlie is green.[(triple1)] Charlie is quiet.[(triple2)] Erin is red.[(triple3)] Erin is rough.[(triple4)] Erin is round.[(triple5)] Erin is white.[(triple6)] Fiona is nice.[(triple7)] Fiona is red.[(triple8)] Harry is green.[(triple9)] Harry is white.[(triple10)] @1: Fiona is quiet.[(((triple7) -> rule5))] Harry is red.[(((triple9 triple10) -> rule7))] @2: Fiona is round.[(((((triple7) -> rule5) triple8) -> rule3))] Harry is nice.[(((((triple9 triple10) -> rule7) triple9) -> rule2))] @3: Harry is quiet.[(((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5))] @4: Harry is round.[(((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3))] @5: Harry is rough.[(((triple9 ((((((((triple9 triple10) -> rule7) triple9) -> rule2)) -> rule5) ((triple9 triple10) -> rule7)) -> rule3)) -> rule4))]
Charlie is green.
("Charlie" "is" "green" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
Erin is red.
("Erin" "is" "red" "+")
triple3
Erin is rough.
("Erin" "is" "rough" "+")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
Erin is white.
("Erin" "is" "white" "+")
triple6
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Harry is green.
("Harry" "is" "green" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple7) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple9 triple10) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple7) -> (rule5 % int2)) triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
((((triple9 triple10) -> (rule7 % int2)) triple9) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((triple9 triple10) -> (rule7 % int3)) triple9) -> (rule2 % int2))) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
((((((((triple9 triple10) -> (rule7 % int4)) triple9) -> (rule2 % int3))) -> (rule5 % int2)) ((triple9 triple10) -> (rule7 % int4))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
((triple9 ((((((((triple9 triple10) -> (rule7 % int5)) triple9) -> (rule2 % int4))) -> (rule5 % int3)) ((triple9 triple10) -> (rule7 % int5))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5