Anne is smart. Bob is cold. Bob is nice. Bob is round. Charlie is cold. Erin is cold. Erin is round. All big people are young. If someone is smart then they are not cold. All nice, smart people are not cold. If someone is cold then they are big. If someone is round and smart then they are nice. Round, smart people are not nice. Cold, young people are nice. If someone is young then they are round.
Anne is smart.
("Anne" "is" "smart" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is round.
("Erin" "is" "round" "+")
All big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is smart then they are not cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "-"))
All nice, smart people are not cold.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "-"))
If someone is cold then they are big.
((("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
If someone is round and smart then they are nice.
((("someone" "is" "round" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "nice" "+"))
Round, smart people are not nice.
((("someone" "is" "round" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "nice" "-"))
Cold, young people are nice.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
If someone is young then they are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Anne is smart.
True
1
proof
[(triple1)]
("Anne" "is" "smart" "+")
triple1
Charlie is not cold.
False
1
inv-proof
[(triple5)]
("Charlie" "is" "cold" "-")
triple5
Charlie is big.
True
2
proof
[(((triple5) -> rule4))]
("Charlie" "is" "big" "+")
((triple5) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Erin is not big.
False
2
inv-proof
[(((triple6) -> rule4))]
("Erin" "is" "big" "-")
((triple6) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Bob is young.
True
3
proof
[(((((triple2) -> rule4)) -> rule1))]
("Bob" "is" "young" "+")
((((triple2) -> (rule4 % int2))) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Erin is not young.
False
3
inv-proof
[(((((triple6) -> rule4)) -> rule1))]
("Erin" "is" "young" "-")
((((triple6) -> (rule4 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is nice.
True
5
proof
[(((triple6 ((((triple6) -> rule4)) -> rule1)) -> rule7))]
("Erin" "is" "nice" "+")
((triple6 ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not nice.
False
5
inv-proof
[(((triple6 ((((triple6) -> rule4)) -> rule1)) -> rule7))]
("Erin" "is" "nice" "-")
((triple6 ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Anne is not round.
Unknown
inv-rconc
[@3: Anne is round.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule4 <- FAIL)]]
("Anne" "is" "round" "-")
Anne is young.
Unknown
rconc
[@2: Anne is young.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Anne" "is" "young" "+")
Anne is not nice.
Unknown
inv-rconc
[@4: Anne is nice.[CWA. Example of deepest failure = (rule5 <- rule8 <- rule1 <- rule4 <- FAIL)]]
("Anne" "is" "nice" "-")
Anne is big.
Unknown
rconc
[@1: Anne is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "big" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Erin is not smart.
Unknown
inv-random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
@0: Anne is smart.[(triple1)] Bob is cold.[(triple2)] Bob is nice.[(triple3 OR ((triple2 ((((triple2) -> rule4)) -> rule1)) -> rule7))] Bob is round.[(triple4 OR ((((((triple2) -> rule4)) -> rule1)) -> rule8))] Charlie is cold.[(triple5)] Erin is cold.[(triple6)] Erin is round.[(triple7 OR ((((((triple6) -> rule4)) -> rule1)) -> rule8))] @1: Anne is not cold.[(((triple1) -> rule2))] Bob is big.[(((triple2) -> rule4))] Charlie is big.[(((triple5) -> rule4))] Erin is big.[(((triple6) -> rule4))] @2: Bob is young.[(((((triple2) -> rule4)) -> rule1))] Charlie is young.[(((((triple5) -> rule4)) -> rule1))] Erin is young.[(((((triple6) -> rule4)) -> rule1))] @3: Charlie is nice.[(((triple5 ((((triple5) -> rule4)) -> rule1)) -> rule7))] Charlie is round.[(((((((triple5) -> rule4)) -> rule1)) -> rule8))] Erin is nice.[(((triple6 ((((triple6) -> rule4)) -> rule1)) -> rule7))]
Anne is smart.
("Anne" "is" "smart" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is nice.
("Bob" "is" "nice" "+")
triple3
((triple2 ((((triple2) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple4
((((((triple2) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple5
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is round.
("Erin" "is" "round" "+")
triple7
((((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Anne is not cold.
("Anne" "is" "cold" "-")
((triple1) -> (rule2 % int1))
Anne is not cold.
("Anne" "is" "cold" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple2) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((triple5) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple6) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((((triple2) -> (rule4 % int2))) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
((((triple5) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((triple6) -> (rule4 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple5 ((((triple5) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
((((((triple5) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
((triple6 ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3