Bob is smart. Charlie is kind. Charlie is red. Fiona is furry. Fiona is not nice. Harry is nice. Harry is red. Red, furry people are white. Round people are red. If Fiona is furry then Fiona is round. If someone is white then they are smart. White people are not kind. If Bob is furry and Bob is red then Bob is not smart.
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Red, furry people are white.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "white" "+"))
Round people are red.
((("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
If Fiona is furry then Fiona is round.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "round" "+"))
If someone is white then they are smart.
((("someone" "is" "white" "+")) -> ("someone" "is" "smart" "+"))
White people are not kind.
((("someone" "is" "white" "+")) -> ("someone" "is" "kind" "-"))
If Bob is furry and Bob is red then Bob is not smart.
((("Bob" "is" "furry" "+") ("Bob" "is" "red" "+")) -> ("Bob" "is" "smart" "-"))
Charlie is red.
True
1
proof
[(triple3)]
("Charlie" "is" "red" "+")
triple3
Harry is not nice.
False
1
inv-proof
[(triple6)]
("Harry" "is" "nice" "-")
triple6
Fiona is round.
True
2
proof
[(((triple4) -> rule3))]
("Fiona" "is" "round" "+")
((triple4) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple4) -> rule3))]
("Fiona" "is" "round" "-")
((triple4) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
True
3
proof
[(((((triple4) -> rule3)) -> rule2))]
("Fiona" "is" "red" "+")
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is not red.
False
3
inv-proof
[(((((triple4) -> rule3)) -> rule2))]
("Fiona" "is" "red" "-")
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is white.
True
5
proof
[(((((((triple4) -> rule3)) -> rule2) triple4) -> rule1))]
("Fiona" "is" "white" "+")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is not white.
False
5
inv-proof
[(((((((triple4) -> rule3)) -> rule2) triple4) -> rule1))]
("Fiona" "is" "white" "-")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Harry is not smart.
Unknown
inv-rconc
[@2: Harry is smart.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Harry" "is" "smart" "-")
Bob is red.
Unknown
rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not white.
Unknown
inv-rconc
[@1: Bob is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "white" "-")
Charlie is white.
Unknown
rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "white" "+")
Harry is not furry.
Unknown
inv-random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "-")
Charlie is nice.
Unknown
random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "+")
Bob is not kind.
Unknown
inv-random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
@0: Bob is smart.[(triple1)] Charlie is kind.[(triple2)] Charlie is red.[(triple3)] Fiona is furry.[(triple4)] Fiona is not nice.[(triple5)] Harry is nice.[(triple6)] Harry is red.[(triple7)] @1: Fiona is round.[(((triple4) -> rule3))] @2: Fiona is red.[(((((triple4) -> rule3)) -> rule2))] @3: Fiona is white.[(((((((triple4) -> rule3)) -> rule2) triple4) -> rule1))] @4: Fiona is not kind.[(((((((((triple4) -> rule3)) -> rule2) triple4) -> rule1)) -> rule5))] Fiona is smart.[(((((((((triple4) -> rule3)) -> rule2) triple4) -> rule1)) -> rule4))]
Bob is smart.
("Bob" "is" "smart" "+")
triple1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple5
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is red.
("Harry" "is" "red" "+")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
((triple4) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is not kind.
("Fiona" "is" "kind" "-")
((((((((triple4) -> (rule3 % int4))) -> (rule2 % int3)) triple4) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
((((((((triple4) -> (rule3 % int4))) -> (rule2 % int3)) triple4) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4