Charlie is big. Charlie is blue. Charlie is not nice. Charlie is red. Charlie is smart. Charlie is young. Erin is red. Erin is smart. Fiona is nice. Fiona is not red. Gary is big. Gary is blue. Gary is not green. Gary is nice. Gary is smart. Gary is young. If something is green and smart then it is not young. If something is big then it is young. All big things are young. All blue, nice things are not red. All smart things are big. If something is big and not nice then it is smart. If something is nice then it is smart. If Charlie is not young then Charlie is red.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not nice.
("Charlie" "is" "nice" "-")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is not red.
("Fiona" "is" "red" "-")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is not green.
("Gary" "is" "green" "-")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is green and smart then it is not young.
((("something" "is" "green" "+") ("something" "is" "smart" "+")) -> ("something" "is" "young" "-"))
If something is big then it is young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
All big things are young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
All blue, nice things are not red.
((("something" "is" "blue" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "-"))
All smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If something is big and not nice then it is smart.
((("something" "is" "big" "+") ("something" "is" "nice" "~")) -> ("something" "is" "smart" "+"))
If something is nice then it is smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
If Charlie is not young then Charlie is red.
((("Charlie" "is" "young" "~")) -> ("Charlie" "is" "red" "+"))
Gary is nice.
True
1
proof
[(triple14)]
("Gary" "is" "nice" "+")
triple14
Charlie is not big.
False
1
inv-proof
[(triple1 OR ((triple5) -> rule5))]
("Charlie" "is" "big" "-")
triple1
((triple5) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Gary is not red.
True
3
proof
[(((triple12 triple14) -> rule4))]
("Gary" "is" "red" "-")
((triple12 triple14) -> (rule4 % int1))
Gary is not red.
("Gary" "is" "red" "-")
int1
Gary is red.
False
3
inv-proof
[(((triple12 triple14) -> rule4))]
("Gary" "is" "red" "+")
((triple12 triple14) -> (rule4 % int1))
Gary is not red.
("Gary" "is" "red" "-")
int1
Fiona is big.
True
3
proof
[(((((triple9) -> rule7)) -> rule5))]
("Fiona" "is" "big" "+")
((((triple9) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Erin is not young.
False
3
inv-proof
[(((((triple8) -> rule5)) -> rule2) OR ((((triple8) -> rule5)) -> rule3))]
("Erin" "is" "young" "-")
((((triple8) -> (rule5 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple8) -> (rule5 % int2))) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Fiona is young.
True
4
proof
[(((((((triple9) -> rule7)) -> rule5)) -> rule2) OR ((((((triple9) -> rule7)) -> rule5)) -> rule3))]
("Fiona" "is" "young" "+")
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is not young.
False
4
inv-proof
[(((((((triple9) -> rule7)) -> rule5)) -> rule2) OR ((((((triple9) -> rule7)) -> rule5)) -> rule3))]
("Fiona" "is" "young" "-")
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Erin is nice.
Unknown
random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "+")
@0: Charlie is big.[(triple1 OR ((triple5) -> rule5))] Charlie is blue.[(triple2)] Charlie is not nice.[(triple3)] Charlie is red.[(triple4)] Charlie is smart.[(triple5 OR ((triple1 triple3) -> rule6))] Charlie is young.[(triple6 OR ((triple1) -> rule2) OR ((triple1) -> rule3) OR ((((triple5) -> rule5)) -> rule2) OR ((((triple5) -> rule5)) -> rule3))] Erin is red.[(triple7)] Erin is smart.[(triple8)] Fiona is nice.[(triple9)] Fiona is not red.[(triple10)] Gary is big.[(triple11 OR ((triple15) -> rule5) OR ((((triple14) -> rule7)) -> rule5))] Gary is blue.[(triple12)] Gary is nice.[(triple14)] Gary is not green.[(triple13)] Gary is smart.[(triple15 OR ((triple14) -> rule7))] Gary is young.[(triple16 OR ((triple11) -> rule2) OR ((triple11) -> rule3) OR ((((triple15) -> rule5)) -> rule2) OR ((((triple15) -> rule5)) -> rule3) OR ((((((triple14) -> rule7)) -> rule5)) -> rule2) OR ((((((triple14) -> rule7)) -> rule5)) -> rule3))] @1: Erin is big.[(((triple8) -> rule5))] Fiona is smart.[(((triple9) -> rule7))] Gary is not red.[(((triple12 triple14) -> rule4))] @2: Erin is young.[(((((triple8) -> rule5)) -> rule2) OR ((((triple8) -> rule5)) -> rule3))] Fiona is big.[(((((triple9) -> rule7)) -> rule5))] @3: Fiona is young.[(((((((triple9) -> rule7)) -> rule5)) -> rule2) OR ((((((triple9) -> rule7)) -> rule5)) -> rule3))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple5) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is not nice.
("Charlie" "is" "nice" "-")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Charlie is smart.
("Charlie" "is" "smart" "+")
triple5
((triple1 triple3) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple6
((triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple1) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple7
Erin is smart.
("Erin" "is" "smart" "+")
triple8
Fiona is nice.
("Fiona" "is" "nice" "+")
triple9
Fiona is not red.
("Fiona" "is" "red" "-")
triple10
Gary is big.
("Gary" "is" "big" "+")
triple11
((triple15) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple14) -> (rule7 % int2))) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
triple12
Gary is nice.
("Gary" "is" "nice" "+")
triple14
Gary is not green.
("Gary" "is" "green" "-")
triple13
Gary is smart.
("Gary" "is" "smart" "+")
triple15
((triple14) -> (rule7 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
triple16
((triple11) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple11) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((triple15) -> (rule5 % int2))) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple15) -> (rule5 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple14) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple14) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((triple8) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple9) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is not red.
("Gary" "is" "red" "-")
((triple12 triple14) -> (rule4 % int1))
Gary is not red.
("Gary" "is" "red" "-")
int1
Erin is young.
("Erin" "is" "young" "+")
((((triple8) -> (rule5 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple8) -> (rule5 % int2))) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((((triple9) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple9) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3