Anne is kind. Anne is red. Anne is round. Anne is smart. Anne is young. Bob is not kind. Bob is red. Bob is smart. Bob is not young. Charlie is big. Charlie is kind. Charlie is nice. Charlie is red. Charlie is round. Charlie is smart. Charlie is young. If something is round and kind then it is nice. If Bob is kind and Bob is not smart then Bob is round. Round things are big. If something is nice then it is big. If Bob is kind then Bob is nice. If something is big and nice then it is round. All nice, big things are red. If Anne is kind and Anne is round then Anne is young.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is not kind.
("Bob" "is" "kind" "-")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is not young.
("Bob" "is" "young" "-")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
If something is round and kind then it is nice.
((("something" "is" "round" "+") ("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
If Bob is kind and Bob is not smart then Bob is round.
((("Bob" "is" "kind" "+") ("Bob" "is" "smart" "~")) -> ("Bob" "is" "round" "+"))
Round things are big.
((("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is nice then it is big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
If Bob is kind then Bob is nice.
((("Bob" "is" "kind" "+")) -> ("Bob" "is" "nice" "+"))
If something is big and nice then it is round.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "round" "+"))
All nice, big things are red.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
If Anne is kind and Anne is round then Anne is young.
((("Anne" "is" "kind" "+") ("Anne" "is" "round" "+")) -> ("Anne" "is" "young" "+"))
Anne is red.
True
1
proof
[(triple2 OR ((((triple3 triple1) -> rule1) ((triple3) -> rule3)) -> rule7) OR ((((triple3 triple1) -> rule1) ((((triple3 triple1) -> rule1)) -> rule4)) -> rule7))]
("Anne" "is" "red" "+")
triple2
((((triple3 triple1) -> (rule1 % int3)) ((triple3) -> (rule3 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((triple3 triple1) -> (rule1 % int3)) ((((triple3 triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is not smart.
False
1
inv-proof
[(triple4)]
("Anne" "is" "smart" "-")
triple4
Anne is nice.
True
3
proof
[(((triple3 triple1) -> rule1))]
("Anne" "is" "nice" "+")
((triple3 triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not big.
False
2
inv-proof
[(((triple3) -> rule3) OR ((((triple3 triple1) -> rule1)) -> rule4))]
("Anne" "is" "big" "-")
((triple3) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple3 triple1) -> (rule1 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Bob is not round.
Unknown
inv-rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Bob" "is" "round" "-")
Bob is nice.
Unknown
rconc
[@1: Bob is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "nice" "+")
@0: Anne is kind.[(triple1)] Anne is red.[(triple2 OR ((((triple3 triple1) -> rule1) ((triple3) -> rule3)) -> rule7) OR ((((triple3 triple1) -> rule1) ((((triple3 triple1) -> rule1)) -> rule4)) -> rule7))] Anne is round.[(triple3)] Anne is smart.[(triple4)] Anne is young.[(triple5 OR ((triple1 triple3) -> rule8))] Bob is not kind.[(triple6)] Bob is not young.[(triple9)] Bob is red.[(triple7)] Bob is smart.[(triple8)] Charlie is big.[(triple10 OR ((triple12) -> rule4) OR ((triple14) -> rule3) OR ((((triple14 triple11) -> rule1)) -> rule4))] Charlie is kind.[(triple11)] Charlie is nice.[(triple12 OR ((triple14 triple11) -> rule1))] Charlie is red.[(triple13 OR ((triple12 triple10) -> rule7) OR ((triple12 ((triple12) -> rule4)) -> rule7) OR ((triple12 ((triple14) -> rule3)) -> rule7) OR ((((triple14 triple11) -> rule1) triple10) -> rule7) OR ((((triple14 triple11) -> rule1) ((triple12) -> rule4)) -> rule7) OR ((((triple14 triple11) -> rule1) ((triple14) -> rule3)) -> rule7) OR ((triple12 ((((triple14 triple11) -> rule1)) -> rule4)) -> rule7) OR ((((triple14 triple11) -> rule1) ((((triple14 triple11) -> rule1)) -> rule4)) -> rule7))] Charlie is round.[(triple14 OR ((triple10 triple12) -> rule6) OR ((((triple12) -> rule4) triple12) -> rule6))] Charlie is smart.[(triple15)] Charlie is young.[(triple16)] @1: Anne is big.[(((triple3) -> rule3) OR ((((triple3 triple1) -> rule1)) -> rule4))] Anne is nice.[(((triple3 triple1) -> rule1))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple2
((((triple3 triple1) -> (rule1 % int3)) ((triple3) -> (rule3 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((triple3 triple1) -> (rule1 % int3)) ((((triple3 triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
triple3
Anne is smart.
("Anne" "is" "smart" "+")
triple4
Anne is young.
("Anne" "is" "young" "+")
triple5
((triple1 triple3) -> (rule8 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Bob is not kind.
("Bob" "is" "kind" "-")
triple6
Bob is not young.
("Bob" "is" "young" "-")
triple9
Bob is red.
("Bob" "is" "red" "+")
triple7
Bob is smart.
("Bob" "is" "smart" "+")
triple8
Charlie is big.
("Charlie" "is" "big" "+")
triple10
((triple12) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple14) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((triple14 triple11) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple11
Charlie is nice.
("Charlie" "is" "nice" "+")
triple12
((triple14 triple11) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple13
((triple12 triple10) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple12 ((triple12) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((triple12 ((triple14) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple14 triple11) -> (rule1 % int2)) triple10) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple14 triple11) -> (rule1 % int3)) ((triple12) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((triple14 triple11) -> (rule1 % int3)) ((triple14) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple12 ((((triple14 triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((triple14 triple11) -> (rule1 % int3)) ((((triple14 triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
triple14
((triple10 triple12) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple12) -> (rule4 % int2)) triple12) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple15
Charlie is young.
("Charlie" "is" "young" "+")
triple16
Anne is big.
("Anne" "is" "big" "+")
((triple3) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple3 triple1) -> (rule1 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
((triple3 triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1