Charlie is young. Fiona is big. Gary is rough. Harry is red. If something is big then it is quiet. Rough, young things are big. If something is quiet then it is rough. Quiet things are young. All quiet, rough things are blue. If Harry is red and Harry is round then Harry is young. If Fiona is young then Fiona is blue. Big, rough things are round.
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is red.
("Harry" "is" "red" "+")
If something is big then it is quiet.
((("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
Rough, young things are big.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is quiet then it is rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
Quiet things are young.
((("something" "is" "quiet" "+")) -> ("something" "is" "young" "+"))
All quiet, rough things are blue.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
If Harry is red and Harry is round then Harry is young.
((("Harry" "is" "red" "+") ("Harry" "is" "round" "+")) -> ("Harry" "is" "young" "+"))
If Fiona is young then Fiona is blue.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "blue" "+"))
Big, rough things are round.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
Fiona is big.
True
1
proof
[(triple2)]
("Fiona" "is" "big" "+")
triple2
Fiona is not big.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "big" "-")
triple2
Fiona is quiet.
True
2
proof
[(((triple2) -> rule1))]
("Fiona" "is" "quiet" "+")
((triple2) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is not quiet.
False
2
inv-proof
[(((triple2) -> rule1))]
("Fiona" "is" "quiet" "-")
((triple2) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
True
3
proof
[(((((triple2) -> rule1)) -> rule4))]
("Fiona" "is" "young" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is not young.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule4))]
("Fiona" "is" "young" "-")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
True
4
proof
[(((((((triple2) -> rule1)) -> rule4)) -> rule7) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule5))]
("Fiona" "is" "blue" "+")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is not blue.
False
4
inv-proof
[(((((((triple2) -> rule1)) -> rule4)) -> rule7) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule5))]
("Fiona" "is" "blue" "-")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Harry is not big.
Unknown
inv-rconc
[@3: Harry is big.[CWA. Example of deepest failure = (rule2 <- rule3 <- rule1 <- FAIL)]]
("Harry" "is" "big" "-")
Gary is young.
Unknown
rconc
[@3: Gary is young.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule2 <- FAIL)]]
("Gary" "is" "young" "+")
Harry is not quiet.
Unknown
inv-rconc
[@3: Harry is quiet.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule3 <- FAIL)]]
("Harry" "is" "quiet" "-")
Gary is quiet.
Unknown
rconc
[@3: Gary is quiet.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule4 <- FAIL)]]
("Gary" "is" "quiet" "+")
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
@0: Charlie is young.[(triple1)] Fiona is big.[(triple2)] Gary is rough.[(triple3)] Harry is red.[(triple4)] @1: Fiona is quiet.[(((triple2) -> rule1))] @2: Fiona is rough.[(((((triple2) -> rule1)) -> rule3))] Fiona is young.[(((((triple2) -> rule1)) -> rule4))] @3: Fiona is blue.[(((((((triple2) -> rule1)) -> rule4)) -> rule7) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule5))] Fiona is round.[(((triple2 ((((triple2) -> rule1)) -> rule3)) -> rule8))]
Charlie is young.
("Charlie" "is" "young" "+")
triple1
Fiona is big.
("Fiona" "is" "big" "+")
triple2
Gary is rough.
("Gary" "is" "rough" "+")
triple3
Harry is red.
("Harry" "is" "red" "+")
triple4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple2) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3