Anne is blue. Anne is quiet. Anne is young. Bob is big. Bob is furry. Bob is quiet. Bob is red. Bob is young. Dave is big. Dave is blue. Fiona is big. Fiona is blue. If someone is blue then they are smart. If Anne is smart then Anne is furry. If Bob is smart then Bob is quiet. All furry people are red. If Fiona is quiet then Fiona is furry. All smart, red people are big.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
If someone is blue then they are smart.
((("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
If Anne is smart then Anne is furry.
((("Anne" "is" "smart" "+")) -> ("Anne" "is" "furry" "+"))
If Bob is smart then Bob is quiet.
((("Bob" "is" "smart" "+")) -> ("Bob" "is" "quiet" "+"))
All furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Fiona is quiet then Fiona is furry.
((("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "furry" "+"))
All smart, red people are big.
((("someone" "is" "smart" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Bob is young.
True
1
proof
[(triple8)]
("Bob" "is" "young" "+")
triple8
Anne is not blue.
False
1
inv-proof
[(triple1)]
("Anne" "is" "blue" "-")
triple1
Fiona is smart.
True
2
proof
[(((triple12) -> rule1))]
("Fiona" "is" "smart" "+")
((triple12) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is not smart.
False
2
inv-proof
[(((triple12) -> rule1))]
("Fiona" "is" "smart" "-")
((triple12) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Anne is furry.
True
3
proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is not furry.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "furry" "-")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
True
4
proof
[(((((((triple1) -> rule1)) -> rule2)) -> rule4))]
("Anne" "is" "red" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is not red.
False
4
inv-proof
[(((((((triple1) -> rule1)) -> rule2)) -> rule4))]
("Anne" "is" "red" "-")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "furry" "-")
Bob is smart.
Unknown
rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "smart" "+")
Fiona is not red.
Unknown
inv-rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Fiona" "is" "red" "-")
Dave is red.
Unknown
rconc
[@1: Dave is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "red" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
Dave is not young.
Unknown
inv-random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
@0: Anne is blue.[(triple1)] Anne is quiet.[(triple2)] Anne is young.[(triple3)] Bob is big.[(triple4)] Bob is furry.[(triple5)] Bob is quiet.[(triple6)] Bob is red.[(triple7 OR ((triple5) -> rule4))] Bob is young.[(triple8)] Dave is big.[(triple9)] Dave is blue.[(triple10)] Fiona is big.[(triple11)] Fiona is blue.[(triple12)] @1: Anne is smart.[(((triple1) -> rule1))] Dave is smart.[(((triple10) -> rule1))] Fiona is smart.[(((triple12) -> rule1))] @2: Anne is furry.[(((((triple1) -> rule1)) -> rule2))] @3: Anne is red.[(((((((triple1) -> rule1)) -> rule2)) -> rule4))] @4: Anne is big.[(((((triple1) -> rule1) ((((((triple1) -> rule1)) -> rule2)) -> rule4)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
Bob is big.
("Bob" "is" "big" "+")
triple4
Bob is furry.
("Bob" "is" "furry" "+")
triple5
Bob is quiet.
("Bob" "is" "quiet" "+")
triple6
Bob is red.
("Bob" "is" "red" "+")
triple7
((triple5) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple8
Dave is big.
("Dave" "is" "big" "+")
triple9
Dave is blue.
("Dave" "is" "blue" "+")
triple10
Fiona is big.
("Fiona" "is" "big" "+")
triple11
Fiona is blue.
("Fiona" "is" "blue" "+")
triple12
Anne is smart.
("Anne" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple10) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple12) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is big.
("Anne" "is" "big" "+")
((((triple1) -> (rule1 % int4)) ((((((triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4