Anne is cold. Anne is round. Anne is smart. Erin is green. Erin is smart. Erin is not young. Fiona is cold. Fiona is green. Fiona is kind. Fiona is not round. Fiona is smart. Fiona is young. Cold things are smart. If something is cold and young then it is not blue. If something is kind and not round then it is young. If something is smart and not cold then it is young. If something is blue then it is not green. All round things are kind. Round, smart things are kind. If something is cold and not smart then it is kind.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is not young.
("Erin" "is" "young" "-")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is not round.
("Fiona" "is" "round" "-")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Cold things are smart.
((("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
If something is cold and young then it is not blue.
((("something" "is" "cold" "+") ("something" "is" "young" "+")) -> ("something" "is" "blue" "-"))
If something is kind and not round then it is young.
((("something" "is" "kind" "+") ("something" "is" "round" "~")) -> ("something" "is" "young" "+"))
If something is smart and not cold then it is young.
((("something" "is" "smart" "+") ("something" "is" "cold" "~")) -> ("something" "is" "young" "+"))
If something is blue then it is not green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "-"))
All round things are kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
Round, smart things are kind.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If something is cold and not smart then it is kind.
((("something" "is" "cold" "+") ("something" "is" "smart" "~")) -> ("something" "is" "kind" "+"))
Anne is smart.
True
1
proof
[(triple3 OR ((triple1) -> rule1))]
("Anne" "is" "smart" "+")
triple3
((triple1) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Erin is not green.
False
1
inv-proof
[(triple4)]
("Erin" "is" "green" "-")
triple4
Anne is kind.
True
2
proof
[(((triple2) -> rule6) OR ((triple2 triple3) -> rule7) OR ((triple2 ((triple1) -> rule1)) -> rule7))]
("Anne" "is" "kind" "+")
((triple2) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple2 triple3) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple2 ((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Fiona is blue.
False
3
inv-proof
[(((triple7 triple12) -> rule2) OR ((triple7 ((triple9 triple10) -> rule3)) -> rule2))]
("Fiona" "is" "blue" "+")
((triple7 triple12) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
((triple7 ((triple9 triple10) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Erin is not kind.
Unknown
inv-rconc
[@1: Erin is kind.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "kind" "-")
Anne is young.
Unknown
rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "young" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
@0: Anne is cold.[(triple1)] Anne is round.[(triple2)] Anne is smart.[(triple3 OR ((triple1) -> rule1))] Erin is green.[(triple4)] Erin is not young.[(triple6)] Erin is smart.[(triple5)] Fiona is cold.[(triple7)] Fiona is green.[(triple8)] Fiona is kind.[(triple9)] Fiona is not round.[(triple10)] Fiona is smart.[(triple11 OR ((triple7) -> rule1))] Fiona is young.[(triple12 OR ((triple9 triple10) -> rule3))] @1: Anne is kind.[(((triple2) -> rule6) OR ((triple2 triple3) -> rule7) OR ((triple2 ((triple1) -> rule1)) -> rule7))] Fiona is not blue.[(((triple7 triple12) -> rule2) OR ((triple7 ((triple9 triple10) -> rule3)) -> rule2))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Anne is smart.
("Anne" "is" "smart" "+")
triple3
((triple1) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple4
Erin is not young.
("Erin" "is" "young" "-")
triple6
Erin is smart.
("Erin" "is" "smart" "+")
triple5
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
Fiona is green.
("Fiona" "is" "green" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
Fiona is not round.
("Fiona" "is" "round" "-")
triple10
Fiona is smart.
("Fiona" "is" "smart" "+")
triple11
((triple7) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple12
((triple9 triple10) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
((triple2) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple2 triple3) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple2 ((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Fiona is not blue.
("Fiona" "is" "blue" "-")
((triple7 triple12) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
((triple7 ((triple9 triple10) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2