Anne is round. Bob is nice. Charlie is white. Harry is blue. All smart people are cold. Cold people are smart. If someone is nice and cold then they are smart. Blue people are smart. White people are round. If someone is smart and cold then they are furry.
Anne is round.
("Anne" "is" "round" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
All smart people are cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
Cold people are smart.
((("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice and cold then they are smart.
((("someone" "is" "nice" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
Blue people are smart.
((("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
White people are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If someone is smart and cold then they are furry.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Charlie is white.
True
1
proof
[(triple3)]
("Charlie" "is" "white" "+")
triple3
Bob is not nice.
False
1
inv-proof
[(triple2)]
("Bob" "is" "nice" "-")
triple2
Harry is smart.
True
2
proof
[(((triple4) -> rule4))]
("Harry" "is" "smart" "+")
((triple4) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is not smart.
False
2
inv-proof
[(((triple4) -> rule4))]
("Harry" "is" "smart" "-")
((triple4) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
True
3
proof
[(((((triple4) -> rule4)) -> rule1))]
("Harry" "is" "cold" "+")
((((triple4) -> (rule4 % int2))) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is not cold.
False
3
inv-proof
[(((((triple4) -> rule4)) -> rule1))]
("Harry" "is" "cold" "-")
((((triple4) -> (rule4 % int2))) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Bob is not round.
Unknown
inv-rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "round" "-")
Harry is round.
Unknown
rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "round" "+")
Bob is not smart.
Unknown
inv-rconc
[@3: Bob is smart.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule3 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
Harry is not white.
Unknown
inv-random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Anne is round.[(triple1)] Bob is nice.[(triple2)] Charlie is white.[(triple3)] Harry is blue.[(triple4)] @1: Charlie is round.[(((triple3) -> rule5))] Harry is smart.[(((triple4) -> rule4))] @2: Harry is cold.[(((((triple4) -> rule4)) -> rule1))] @3: Harry is furry.[(((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule1)) -> rule6))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Charlie is white.
("Charlie" "is" "white" "+")
triple3
Harry is blue.
("Harry" "is" "blue" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
((triple3) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple4) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
((((triple4) -> (rule4 % int2))) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3