Charlie is round. Erin is red. Erin is rough. Fiona is quiet. Fiona is round. Harry is quiet. Harry is rough. If Charlie is kind and Charlie is round then Charlie is rough. If Harry is rough then Harry is quiet. All big, nice things are round. All kind, round things are quiet. If something is red then it is big. If Harry is round then Harry is big. All big, kind things are nice. Nice things are kind. All big things are kind.
Charlie is round.
("Charlie" "is" "round" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If Charlie is kind and Charlie is round then Charlie is rough.
((("Charlie" "is" "kind" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "rough" "+"))
If Harry is rough then Harry is quiet.
((("Harry" "is" "rough" "+")) -> ("Harry" "is" "quiet" "+"))
All big, nice things are round.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "round" "+"))
All kind, round things are quiet.
((("something" "is" "kind" "+") ("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
If something is red then it is big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
If Harry is round then Harry is big.
((("Harry" "is" "round" "+")) -> ("Harry" "is" "big" "+"))
All big, kind things are nice.
((("something" "is" "big" "+") ("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
Nice things are kind.
((("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
All big things are kind.
((("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
Erin is red.
True
1
proof
[(triple2)]
("Erin" "is" "red" "+")
triple2
Harry is not quiet.
False
1
inv-proof
[(triple6 OR ((triple7) -> rule2))]
("Harry" "is" "quiet" "-")
triple6
((triple7) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Erin is big.
True
2
proof
[(((triple2) -> rule5))]
("Erin" "is" "big" "+")
((triple2) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is not big.
False
2
inv-proof
[(((triple2) -> rule5))]
("Erin" "is" "big" "-")
((triple2) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is kind.
True
3
proof
[(((((triple2) -> rule5)) -> rule9))]
("Erin" "is" "kind" "+")
((((triple2) -> (rule5 % int2))) -> (rule9 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not kind.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule9))]
("Erin" "is" "kind" "-")
((((triple2) -> (rule5 % int2))) -> (rule9 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is nice.
True
6
proof
[(((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7))]
("Erin" "is" "nice" "+")
((((triple2) -> (rule5 % int3)) ((((triple2) -> (rule5 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not nice.
False
6
inv-proof
[(((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7))]
("Erin" "is" "nice" "-")
((((triple2) -> (rule5 % int3)) ((((triple2) -> (rule5 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is round.
True
9
proof
[(((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3))]
("Erin" "is" "round" "+")
((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4))) -> (rule9 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is not round.
False
9
inv-proof
[(((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3))]
("Erin" "is" "round" "-")
((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4))) -> (rule9 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is quiet.
True
13
proof
[(((((((triple2) -> rule5)) -> rule9) ((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3)) -> rule4))]
("Erin" "is" "quiet" "+")
((((((triple2) -> (rule5 % int5))) -> (rule9 % int4)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5))) -> (rule9 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Erin is not quiet.
False
13
inv-proof
[(((((((triple2) -> rule5)) -> rule9) ((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3)) -> rule4))]
("Erin" "is" "quiet" "-")
((((((triple2) -> (rule5 % int5))) -> (rule9 % int4)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5))) -> (rule9 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Harry is not kind.
Unknown
inv-rconc
[@4: Harry is kind.[CWA. Example of deepest failure = (rule8 <- rule7 <- rule6 <- rule3 <- FAIL)]]
("Harry" "is" "kind" "-")
Charlie is nice.
Unknown
rconc
[@2: Charlie is nice.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("Charlie" "is" "nice" "+")
Fiona is not nice.
Unknown
inv-rconc
[@2: Fiona is nice.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "nice" "-")
Harry is nice.
Unknown
rconc
[@3: Harry is nice.[CWA. Example of deepest failure = (rule7 <- rule6 <- rule3 <- FAIL)]]
("Harry" "is" "nice" "+")
Charlie is not big.
Unknown
inv-rconc
[@1: Charlie is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "big" "-")
Charlie is kind.
Unknown
rconc
[@3: Charlie is kind.[CWA. Example of deepest failure = (rule8 <- rule7 <- rule5 <- FAIL)]]
("Charlie" "is" "kind" "+")
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
@0: Charlie is round.[(triple1)] Erin is red.[(triple2)] Erin is rough.[(triple3)] Fiona is quiet.[(triple4)] Fiona is round.[(triple5)] Harry is quiet.[(triple6 OR ((triple7) -> rule2))] Harry is rough.[(triple7)] @1: Erin is big.[(((triple2) -> rule5))] @2: Erin is kind.[(((((triple2) -> rule5)) -> rule9))] @3: Erin is nice.[(((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7))] @4: Erin is round.[(((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3))] @5: Erin is quiet.[(((((((triple2) -> rule5)) -> rule9) ((((triple2) -> rule5) ((((triple2) -> rule5) ((((triple2) -> rule5)) -> rule9)) -> rule7)) -> rule3)) -> rule4))]
Charlie is round.
("Charlie" "is" "round" "+")
triple1
Erin is red.
("Erin" "is" "red" "+")
triple2
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Fiona is round.
("Fiona" "is" "round" "+")
triple5
Harry is quiet.
("Harry" "is" "quiet" "+")
triple6
((triple7) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
((triple2) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((((triple2) -> (rule5 % int2))) -> (rule9 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
((((triple2) -> (rule5 % int3)) ((((triple2) -> (rule5 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4)) ((((triple2) -> (rule5 % int4))) -> (rule9 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is quiet.
("Erin" "is" "quiet" "+")
((((((triple2) -> (rule5 % int5))) -> (rule9 % int4)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5)) ((((triple2) -> (rule5 % int5))) -> (rule9 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5