Dave is big. Dave is red. Erin is smart. Fiona is kind. Fiona is smart. Gary is rough. Gary is white. All young people are white. If someone is kind and white then they are big. If someone is kind then they are young. If Fiona is young and Fiona is rough then Fiona is red. If someone is big then they are rough. All rough, white people are red. If someone is kind and not big then they are red.
Dave is big.
("Dave" "is" "big" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
All young people are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
If someone is kind and white then they are big.
((("someone" "is" "kind" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "big" "+"))
If someone is kind then they are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
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 rough.
((("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
All rough, white people are red.
((("someone" "is" "rough" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
If someone is kind and not big then they are red.
((("someone" "is" "kind" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "red" "+"))
Erin is smart.
True
1
proof
[(triple3)]
("Erin" "is" "smart" "+")
triple3
Fiona is not smart.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "smart" "-")
triple5
Fiona is young.
True
2
proof
[(((triple4) -> rule3))]
("Fiona" "is" "young" "+")
((triple4) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Dave is not rough.
False
2
inv-proof
[(((triple1) -> rule5))]
("Dave" "is" "rough" "-")
((triple1) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Fiona is white.
True
3
proof
[(((((triple4) -> rule3)) -> rule1))]
("Fiona" "is" "white" "+")
((((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not white.
False
3
inv-proof
[(((((triple4) -> rule3)) -> rule1))]
("Fiona" "is" "white" "-")
((((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is big.
True
5
proof
[(((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2))]
("Fiona" "is" "big" "+")
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not big.
False
5
inv-proof
[(((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2))]
("Fiona" "is" "big" "-")
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
True
6
proof
[(((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5))]
("Fiona" "is" "rough" "+")
((((triple4 ((((triple4) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is not rough.
False
6
inv-proof
[(((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5))]
("Fiona" "is" "rough" "-")
((((triple4 ((((triple4) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
True
9
proof
[(((((triple4) -> rule3) ((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5)) -> rule4) OR ((((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5) ((((triple4) -> rule3)) -> rule1)) -> rule6))]
("Fiona" "is" "red" "+")
((((triple4) -> (rule3 % int5)) ((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
((((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
Fiona is not red.
False
9
inv-proof
[(((((triple4) -> rule3) ((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5)) -> rule4) OR ((((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5) ((((triple4) -> rule3)) -> rule1)) -> rule6))]
("Fiona" "is" "red" "-")
((((triple4) -> (rule3 % int5)) ((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
((((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
Dave is not white.
Unknown
inv-rconc
[@2: Dave is white.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Dave" "is" "white" "-")
Erin is rough.
Unknown
rconc
[@2: Erin is rough.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Erin" "is" "rough" "+")
Dave is not young.
Unknown
inv-rconc
[@1: Dave is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "young" "-")
Erin is young.
Unknown
rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "young" "+")
Gary is not young.
Unknown
inv-rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "young" "-")
Gary is big.
Unknown
rconc
[@1: Gary is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "big" "+")
Gary is not kind.
Unknown
inv-random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
Gary is not smart.
Unknown
inv-random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
@0: Dave is big.[(triple1)] Dave is red.[(triple2)] Erin is smart.[(triple3)] Fiona is kind.[(triple4)] Fiona is smart.[(triple5)] Gary is rough.[(triple6)] Gary is white.[(triple7)] @1: Dave is rough.[(((triple1) -> rule5))] Fiona is young.[(((triple4) -> rule3))] Gary is red.[(((triple6 triple7) -> rule6))] @2: Fiona is white.[(((((triple4) -> rule3)) -> rule1))] @3: Fiona is big.[(((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2))] @4: Fiona is rough.[(((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5))] @5: Fiona is red.[(((((triple4) -> rule3) ((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5)) -> rule4) OR ((((((triple4 ((((triple4) -> rule3)) -> rule1)) -> rule2)) -> rule5) ((((triple4) -> rule3)) -> rule1)) -> rule6))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is red.
("Dave" "is" "red" "+")
triple2
Erin is smart.
("Erin" "is" "smart" "+")
triple3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
Gary is rough.
("Gary" "is" "rough" "+")
triple6
Gary is white.
("Gary" "is" "white" "+")
triple7
Dave is rough.
("Dave" "is" "rough" "+")
((triple1) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple4) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple6 triple7) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple4 ((((triple4) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
((((triple4) -> (rule3 % int5)) ((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
((((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((triple4) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5