Dave is kind. Dave is round. Dave is white. Dave is young. Erin is round. Fiona is cold. Fiona is white. Gary is blue. Gary is furry. Gary is round. If someone is kind then they are white. Cold, white people are young. Blue, furry people are cold. If someone is white and furry then they are round. If someone is furry and young then they are cold. If someone is furry then they are kind. If Fiona is white then Fiona is furry. If someone is furry then they are young.
Dave is kind.
("Dave" "is" "kind" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is round.
("Gary" "is" "round" "+")
If someone is kind then they are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
Cold, white people are young.
((("someone" "is" "cold" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
Blue, furry people are cold.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If someone is white and furry then they are round.
((("someone" "is" "white" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If someone is furry and young then they are cold.
((("someone" "is" "furry" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
If someone is furry then they are kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is white then Fiona is furry.
((("Fiona" "is" "white" "+")) -> ("Fiona" "is" "furry" "+"))
If someone is furry then they are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
Dave is white.
True
1
proof
[(triple3 OR ((triple1) -> rule1))]
("Dave" "is" "white" "+")
triple3
((triple1) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Fiona is not white.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "white" "-")
triple7
Fiona is furry.
True
2
proof
[(((triple7) -> rule7))]
("Fiona" "is" "furry" "+")
((triple7) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is not kind.
False
2
inv-proof
[(((triple9) -> rule6))]
("Gary" "is" "kind" "-")
((triple9) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Fiona is round.
True
4
proof
[(((triple7 ((triple7) -> rule7)) -> rule4))]
("Fiona" "is" "round" "+")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is not white.
False
3
inv-proof
[(((((triple9) -> rule6)) -> rule1))]
("Gary" "is" "white" "-")
((((triple9) -> (rule6 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Erin is not cold.
Unknown
inv-rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "cold" "-")
Erin is young.
Unknown
rconc
[@2: Erin is young.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Erin" "is" "young" "+")
Dave is not cold.
Unknown
inv-rconc
[@1: Dave is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "cold" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
@0: Dave is kind.[(triple1)] Dave is round.[(triple2)] Dave is white.[(triple3 OR ((triple1) -> rule1))] Dave is young.[(triple4)] Erin is round.[(triple5)] Fiona is cold.[(triple6 OR ((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule8)) -> rule5))] Fiona is white.[(triple7)] Gary is blue.[(triple8)] Gary is furry.[(triple9)] Gary is round.[(triple10 OR ((((((triple9) -> rule6)) -> rule1) triple9) -> rule4))] @1: Fiona is furry.[(((triple7) -> rule7))] Fiona is young.[(((triple6 triple7) -> rule2) OR ((((triple7) -> rule7)) -> rule8))] Gary is cold.[(((triple8 triple9) -> rule3) OR ((triple9 ((triple9) -> rule8)) -> rule5))] Gary is kind.[(((triple9) -> rule6))] Gary is young.[(((triple9) -> rule8) OR ((((triple8 triple9) -> rule3) ((((triple9) -> rule6)) -> rule1)) -> rule2))] @2: Fiona is kind.[(((((triple7) -> rule7)) -> rule6))] Fiona is round.[(((triple7 ((triple7) -> rule7)) -> rule4))] Gary is white.[(((((triple9) -> rule6)) -> rule1))]
Dave is kind.
("Dave" "is" "kind" "+")
triple1
Dave is round.
("Dave" "is" "round" "+")
triple2
Dave is white.
("Dave" "is" "white" "+")
triple3
((triple1) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
Fiona is cold.
("Fiona" "is" "cold" "+")
triple6
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple7
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is round.
("Gary" "is" "round" "+")
triple10
((((((triple9) -> (rule6 % int3))) -> (rule1 % int2)) triple9) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple7) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple6 triple7) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple7) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((triple8 triple9) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((triple9 ((triple9) -> (rule8 % int2))) -> (rule5 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple9) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple9) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((triple8 triple9) -> (rule3 % int4)) ((((triple9) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple7) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
((((triple9) -> (rule6 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2