Erin is white. Fiona is nice. Fiona is rough. Fiona is young. Gary is rough. Harry is rough. Harry is young. If someone is rough then they are white. If someone is nice then they are quiet. If Fiona is young and Fiona is white then Fiona is nice. If someone is white and rough then they are smart. All white people are round. If someone is smart then they are young. If someone is quiet then they are smart. If Gary is young and Gary is white then Gary is nice.
Erin is white.
("Erin" "is" "white" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
If someone is nice then they are quiet.
((("someone" "is" "nice" "+")) -> ("someone" "is" "quiet" "+"))
If Fiona is young and Fiona is white then Fiona is nice.
((("Fiona" "is" "young" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "nice" "+"))
If someone is white and rough then they are smart.
((("someone" "is" "white" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
All white people are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If someone is smart then they are young.
((("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
If someone is quiet then they are smart.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
If Gary is young and Gary is white then Gary is nice.
((("Gary" "is" "young" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "nice" "+"))
Gary is rough.
True
1
proof
[(triple5)]
("Gary" "is" "rough" "+")
triple5
Erin is not white.
False
1
inv-proof
[(triple1)]
("Erin" "is" "white" "-")
triple1
Gary is white.
True
2
proof
[(((triple5) -> rule1))]
("Gary" "is" "white" "+")
((triple5) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Harry is not white.
False
2
inv-proof
[(((triple6) -> rule1))]
("Harry" "is" "white" "-")
((triple6) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is round.
True
3
proof
[(((((triple6) -> rule1)) -> rule5))]
("Harry" "is" "round" "+")
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Fiona is not smart.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule7) OR ((((triple3) -> rule1) triple3) -> rule4) OR ((((((triple4 ((triple3) -> rule1)) -> rule3)) -> rule2)) -> rule7))]
("Fiona" "is" "smart" "-")
((((triple2) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple3) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple4 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Gary is young.
True
5
proof
[(((((((triple5) -> rule1) triple5) -> rule4)) -> rule6))]
("Gary" "is" "young" "+")
((((((triple5) -> (rule1 % int3)) triple5) -> (rule4 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is not young.
False
5
inv-proof
[(((((((triple5) -> rule1) triple5) -> rule4)) -> rule6))]
("Gary" "is" "young" "-")
((((((triple5) -> (rule1 % int3)) triple5) -> (rule4 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is nice.
True
8
proof
[(((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8))]
("Gary" "is" "nice" "+")
((((((((triple5) -> (rule1 % int4)) triple5) -> (rule4 % int3))) -> (rule6 % int2)) ((triple5) -> (rule1 % int4))) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is not nice.
False
8
inv-proof
[(((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8))]
("Gary" "is" "nice" "-")
((((((((triple5) -> (rule1 % int4)) triple5) -> (rule4 % int3))) -> (rule6 % int2)) ((triple5) -> (rule1 % int4))) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is quiet.
True
9
proof
[(((((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8)) -> rule2))]
("Gary" "is" "quiet" "+")
((((((((((triple5) -> (rule1 % int5)) triple5) -> (rule4 % int4))) -> (rule6 % int3)) ((triple5) -> (rule1 % int5))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
Gary is not quiet.
False
9
inv-proof
[(((((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8)) -> rule2))]
("Gary" "is" "quiet" "-")
((((((((((triple5) -> (rule1 % int5)) triple5) -> (rule4 % int4))) -> (rule6 % int3)) ((triple5) -> (rule1 % int5))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
Erin is not smart.
Unknown
inv-rconc
[@2: Erin is smart.[CWA. Example of deepest failure = (rule7 <- rule2 <- FAIL)]]
("Erin" "is" "smart" "-")
Harry is quiet.
Unknown
rconc
[@1: Harry is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "quiet" "+")
Erin is not quiet.
Unknown
inv-rconc
[@1: Erin is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "quiet" "-")
Erin is young.
Unknown
rconc
[@3: Erin is young.[CWA. Example of deepest failure = (rule6 <- rule7 <- rule2 <- FAIL)]]
("Erin" "is" "young" "+")
Harry is not nice.
Unknown
inv-random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "-")
Erin is nice.
Unknown
random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "+")
@0: Erin is white.[(triple1)] Fiona is nice.[(triple2 OR ((triple4 ((triple3) -> rule1)) -> rule3) OR ((((((((triple3) -> rule1) triple3) -> rule4)) -> rule6) ((triple3) -> rule1)) -> rule3))] Fiona is rough.[(triple3)] Fiona is young.[(triple4 OR ((((((triple2) -> rule2)) -> rule7)) -> rule6) OR ((((((triple3) -> rule1) triple3) -> rule4)) -> rule6))] Gary is rough.[(triple5)] Harry is rough.[(triple6)] Harry is young.[(triple7 OR ((((((triple6) -> rule1) triple6) -> rule4)) -> rule6))] @1: Erin is round.[(((triple1) -> rule5))] Fiona is quiet.[(((triple2) -> rule2) OR ((((triple4 ((triple3) -> rule1)) -> rule3)) -> rule2) OR ((((((((((triple3) -> rule1) triple3) -> rule4)) -> rule6) ((triple3) -> rule1)) -> rule3)) -> rule2))] Fiona is white.[(((triple3) -> rule1))] Gary is white.[(((triple5) -> rule1))] Harry is white.[(((triple6) -> rule1))] @2: Fiona is round.[(((((triple3) -> rule1)) -> rule5))] Fiona is smart.[(((((triple2) -> rule2)) -> rule7) OR ((((triple3) -> rule1) triple3) -> rule4) OR ((((((triple4 ((triple3) -> rule1)) -> rule3)) -> rule2)) -> rule7))] Gary is round.[(((((triple5) -> rule1)) -> rule5))] Gary is smart.[(((((triple5) -> rule1) triple5) -> rule4))] Harry is round.[(((((triple6) -> rule1)) -> rule5))] Harry is smart.[(((((triple6) -> rule1) triple6) -> rule4))] @3: Gary is young.[(((((((triple5) -> rule1) triple5) -> rule4)) -> rule6))] @4: Gary is nice.[(((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8))] @5: Gary is quiet.[(((((((((((triple5) -> rule1) triple5) -> rule4)) -> rule6) ((triple5) -> rule1)) -> rule8)) -> rule2))]
Erin is white.
("Erin" "is" "white" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
((triple4 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((((triple3) -> (rule1 % int4)) triple3) -> (rule4 % int3))) -> (rule6 % int2)) ((triple3) -> (rule1 % int4))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Fiona is young.
("Fiona" "is" "young" "+")
triple4
((((((triple2) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((((triple3) -> (rule1 % int3)) triple3) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
triple5
Harry is rough.
("Harry" "is" "rough" "+")
triple6
Harry is young.
("Harry" "is" "young" "+")
triple7
((((((triple6) -> (rule1 % int3)) triple6) -> (rule4 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
((triple1) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple4 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((((((triple3) -> (rule1 % int5)) triple3) -> (rule4 % int4))) -> (rule6 % int3)) ((triple3) -> (rule1 % int5))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is white.
("Fiona" "is" "white" "+")
int5
Fiona is white.
("Fiona" "is" "white" "+")
((triple3) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple5) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple6) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple3) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple4 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
((((triple5) -> (rule1 % int2))) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
((((triple5) -> (rule1 % int2)) triple5) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((((triple6) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((((((triple5) -> (rule1 % int3)) triple5) -> (rule4 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
((((((((triple5) -> (rule1 % int4)) triple5) -> (rule4 % int3))) -> (rule6 % int2)) ((triple5) -> (rule1 % int4))) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is quiet.
("Gary" "is" "quiet" "+")
((((((((((triple5) -> (rule1 % int5)) triple5) -> (rule4 % int4))) -> (rule6 % int3)) ((triple5) -> (rule1 % int5))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5