Anne is kind. Charlie is furry. Fiona is young. Gary is young. Kind people are white. All furry people are nice. All kind, nice people are white. Red people are smart. If Fiona is smart then Fiona is nice. If someone is furry then they are red. Smart people are kind. All furry people are red.
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is young.
("Gary" "is" "young" "+")
Kind people are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
All furry people are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
All kind, nice people are white.
((("someone" "is" "kind" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "white" "+"))
Red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
If Fiona is smart then Fiona is nice.
((("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "nice" "+"))
If someone is furry then they are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
Smart people are kind.
((("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
All furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
Fiona is young.
True
1
proof
[(triple3)]
("Fiona" "is" "young" "+")
triple3
Anne is not kind.
False
1
inv-proof
[(triple1)]
("Anne" "is" "kind" "-")
triple1
Anne is white.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "white" "+")
((triple1) -> (rule1 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple2) -> rule2))]
("Charlie" "is" "nice" "-")
((triple2) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is smart.
True
3
proof
[(((((triple2) -> rule6)) -> rule4) OR ((((triple2) -> rule8)) -> rule4))]
("Charlie" "is" "smart" "+")
((((triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple2) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not smart.
False
3
inv-proof
[(((((triple2) -> rule6)) -> rule4) OR ((((triple2) -> rule8)) -> rule4))]
("Charlie" "is" "smart" "-")
((((triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple2) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
True
4
proof
[(((((((triple2) -> rule6)) -> rule4)) -> rule7) OR ((((((triple2) -> rule8)) -> rule4)) -> rule7))]
("Charlie" "is" "kind" "+")
((((((triple2) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple2) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not kind.
False
4
inv-proof
[(((((((triple2) -> rule6)) -> rule4)) -> rule7) OR ((((((triple2) -> rule8)) -> rule4)) -> rule7))]
("Charlie" "is" "kind" "-")
((((((triple2) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple2) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Anne is not red.
Unknown
inv-rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "red" "-")
Fiona is smart.
Unknown
rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule4 <- rule6 <- FAIL)]]
("Fiona" "is" "smart" "+")
Gary is not white.
Unknown
inv-rconc
[@4: Gary is white.[CWA. Example of deepest failure = (rule1 <- rule7 <- rule4 <- rule6 <- FAIL)]]
("Gary" "is" "white" "-")
Gary is smart.
Unknown
rconc
[@2: Gary is smart.[CWA. Example of deepest failure = (rule4 <- rule6 <- FAIL)]]
("Gary" "is" "smart" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Anne is furry.
Unknown
random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "+")
Gary is not furry.
Unknown
inv-random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
@0: Anne is kind.[(triple1)] Charlie is furry.[(triple2)] Fiona is young.[(triple3)] Gary is young.[(triple4)] @1: Anne is white.[(((triple1) -> rule1))] Charlie is nice.[(((triple2) -> rule2))] Charlie is red.[(((triple2) -> rule6) OR ((triple2) -> rule8))] @2: Charlie is smart.[(((((triple2) -> rule6)) -> rule4) OR ((((triple2) -> rule8)) -> rule4))] @3: Charlie is kind.[(((((((triple2) -> rule6)) -> rule4)) -> rule7) OR ((((((triple2) -> rule8)) -> rule4)) -> rule7))] @4: Charlie is white.[(((((((((triple2) -> rule6)) -> rule4)) -> rule7)) -> rule1) OR ((((((((triple2) -> rule8)) -> rule4)) -> rule7)) -> rule1) OR ((((((((triple2) -> rule6)) -> rule4)) -> rule7) ((triple2) -> rule2)) -> rule3) OR ((((((((triple2) -> rule8)) -> rule4)) -> rule7) ((triple2) -> rule2)) -> rule3))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Fiona is young.
("Fiona" "is" "young" "+")
triple3
Gary is young.
("Gary" "is" "young" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
((triple1) -> (rule1 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple2) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple2) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((((((triple2) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple2) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
((((((((triple2) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((((((triple2) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((((((triple2) -> (rule6 % int5))) -> (rule4 % int4))) -> (rule7 % int3)) ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
((((((((triple2) -> (rule8 % int5))) -> (rule4 % int4))) -> (rule7 % int3)) ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5