Charlie is blue. Fiona is big. Fiona is blue. Gary is big. Gary is nice. Gary is quiet. Gary is rough. Quiet people are nice. Nice, young people are blue. If Fiona is young then Fiona is rough. All quiet people are blue. Blue people are quiet. If Fiona is young and Fiona is rough then Fiona is red. If someone is big then they are red. If someone is quiet and blue then they are big.
Charlie is blue.
("Charlie" "is" "blue" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Quiet people are nice.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
Nice, young people are blue.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
If Fiona is young then Fiona is rough.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "rough" "+"))
All quiet people are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
Blue people are quiet.
((("someone" "is" "blue" "+")) -> ("someone" "is" "quiet" "+"))
If Fiona is young and Fiona is rough then Fiona is red.
((("Fiona" "is" "young" "+") ("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "red" "+"))
If someone is big then they are red.
((("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
If someone is quiet and blue then they are big.
((("someone" "is" "quiet" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
Gary is quiet.
True
1
proof
[(triple6)]
("Gary" "is" "quiet" "+")
triple6
Gary is not big.
False
1
inv-proof
[(triple4 OR ((triple6 ((triple6) -> rule4)) -> rule8))]
("Gary" "is" "big" "-")
triple4
((triple6 ((triple6) -> (rule4 % int2))) -> (rule8 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Fiona is red.
True
2
proof
[(((triple2) -> rule7) OR ((((((triple3) -> rule5) triple3) -> rule8)) -> rule7))]
("Fiona" "is" "red" "+")
((triple2) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((((triple3) -> (rule5 % int3)) triple3) -> (rule8 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Gary is not blue.
False
2
inv-proof
[(((triple6) -> rule4))]
("Gary" "is" "blue" "-")
((triple6) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Charlie is nice.
True
3
proof
[(((((triple1) -> rule5)) -> rule1))]
("Charlie" "is" "nice" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is not big.
False
4
inv-proof
[(((((triple1) -> rule5) triple1) -> rule8))]
("Charlie" "is" "big" "-")
((((triple1) -> (rule5 % int2)) triple1) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is red.
True
5
proof
[(((((((triple1) -> rule5) triple1) -> rule8)) -> rule7))]
("Charlie" "is" "red" "+")
((((((triple1) -> (rule5 % int3)) triple1) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is not red.
False
5
inv-proof
[(((((((triple1) -> rule5) triple1) -> rule8)) -> rule7))]
("Charlie" "is" "red" "-")
((((((triple1) -> (rule5 % int3)) triple1) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "rough" "-")
Charlie is rough.
Unknown
random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Charlie is blue.[(triple1)] Fiona is big.[(triple2 OR ((((triple3) -> rule5) triple3) -> rule8))] Fiona is blue.[(triple3)] Gary is big.[(triple4 OR ((triple6 ((triple6) -> rule4)) -> rule8))] Gary is nice.[(triple5 OR ((triple6) -> rule1))] Gary is quiet.[(triple6)] Gary is rough.[(triple7)] @1: Charlie is quiet.[(((triple1) -> rule5))] Fiona is quiet.[(((triple3) -> rule5))] Fiona is red.[(((triple2) -> rule7) OR ((((((triple3) -> rule5) triple3) -> rule8)) -> rule7))] Gary is blue.[(((triple6) -> rule4))] Gary is red.[(((triple4) -> rule7) OR ((((triple6 ((triple6) -> rule4)) -> rule8)) -> rule7))] @2: Charlie is big.[(((((triple1) -> rule5) triple1) -> rule8))] Charlie is nice.[(((((triple1) -> rule5)) -> rule1))] Fiona is nice.[(((((triple3) -> rule5)) -> rule1))] @3: Charlie is red.[(((((((triple1) -> rule5) triple1) -> rule8)) -> rule7))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Fiona is big.
("Fiona" "is" "big" "+")
triple2
((((triple3) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
Gary is big.
("Gary" "is" "big" "+")
triple4
((triple6 ((triple6) -> (rule4 % int2))) -> (rule8 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
triple5
((triple6) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple6
Gary is rough.
("Gary" "is" "rough" "+")
triple7
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple3) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple2) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((((triple3) -> (rule5 % int3)) triple3) -> (rule8 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((triple6) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple4) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple6 ((triple6) -> (rule4 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
((((triple1) -> (rule5 % int2)) triple1) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((((triple1) -> (rule5 % int3)) triple1) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3