Dave is cold. Dave is red. Fiona is blue. Fiona is cold. Fiona is red. Fiona is rough. Fiona is round. Rough, young things are red. If something is young and blue then it is round. If something is cold then it is blue. If Fiona is red then Fiona is blue. All rough, young things are round. Cold things are blue. Round, red things are cold. Blue, furry things are round.
Dave is cold.
("Dave" "is" "cold" "+")
Dave is red.
("Dave" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Rough, young things are red.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If something is young and blue then it is round.
((("something" "is" "young" "+") ("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If something is cold then it is blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If Fiona is red then Fiona is blue.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "blue" "+"))
All rough, young things are round.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
Cold things are blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Round, red things are cold.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Blue, furry things are round.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
Fiona is blue.
True
1
proof
[(triple3 OR ((triple4) -> rule3) OR ((triple4) -> rule6) OR ((triple5) -> rule4) OR ((((triple7 triple5) -> rule7)) -> rule3) OR ((((triple7 triple5) -> rule7)) -> rule6))]
("Fiona" "is" "blue" "+")
triple3
((triple4) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple5) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple7 triple5) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is not blue.
False
1
inv-proof
[(triple3 OR ((triple4) -> rule3) OR ((triple4) -> rule6) OR ((triple5) -> rule4) OR ((((triple7 triple5) -> rule7)) -> rule3) OR ((((triple7 triple5) -> rule7)) -> rule6))]
("Fiona" "is" "blue" "-")
triple3
((triple4) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple5) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple7 triple5) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Dave is not round.
Unknown
inv-rconc
[@1: Dave is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "round" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Dave is cold.[(triple1)] Dave is red.[(triple2)] Fiona is blue.[(triple3 OR ((triple4) -> rule3) OR ((triple4) -> rule6) OR ((triple5) -> rule4) OR ((((triple7 triple5) -> rule7)) -> rule3) OR ((((triple7 triple5) -> rule7)) -> rule6))] Fiona is cold.[(triple4 OR ((triple7 triple5) -> rule7))] Fiona is red.[(triple5)] Fiona is rough.[(triple6)] Fiona is round.[(triple7)] @1: Dave is blue.[(((triple1) -> rule3) OR ((triple1) -> rule6))]
Dave is cold.
("Dave" "is" "cold" "+")
triple1
Dave is red.
("Dave" "is" "red" "+")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
((triple4) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple5) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple7 triple5) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple4
((triple7 triple5) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
Fiona is round.
("Fiona" "is" "round" "+")
triple7
Dave is blue.
("Dave" "is" "blue" "+")
((triple1) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple1) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1