Charlie is furry. Charlie is kind. Charlie is quiet. Charlie is rough. Dave is young. Fiona is furry. Fiona is kind. Fiona is red. Fiona is rough. Fiona is young. Nice things are rough. If Dave is kind and Dave is nice then Dave is quiet. Young, furry things are nice. If something is nice then it is furry. Nice things are furry. Rough, young things are kind. If something is red then it is young. Furry things are rough.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Nice things are rough.
((("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
If Dave is kind and Dave is nice then Dave is quiet.
((("Dave" "is" "kind" "+") ("Dave" "is" "nice" "+")) -> ("Dave" "is" "quiet" "+"))
Young, furry things are nice.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
If something is nice then it is furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
Nice things are furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
Rough, young things are kind.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
If something is red then it is young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
Fiona is kind.
True
1
proof
[(triple7 OR ((triple9 triple10) -> rule6) OR ((triple9 ((triple8) -> rule7)) -> rule6) OR ((((triple6) -> rule8) triple10) -> rule6) OR ((((triple6) -> rule8) ((triple8) -> rule7)) -> rule6) OR ((((((triple10 triple6) -> rule3)) -> rule1) triple10) -> rule6) OR ((((((triple10 triple6) -> rule3)) -> rule1) ((triple8) -> rule7)) -> rule6) OR ((((((((triple8) -> rule7) triple6) -> rule3)) -> rule1) triple10) -> rule6) OR ((((((((triple8) -> rule7) triple6) -> rule3)) -> rule1) ((triple8) -> rule7)) -> rule6))]
("Fiona" "is" "kind" "+")
triple7
((triple9 triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple9 ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple6) -> (rule8 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple6) -> (rule8 % int3)) ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple10 triple6) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple10 triple6) -> (rule3 % int4))) -> (rule1 % int3)) ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((((((triple8) -> (rule7 % int4)) triple6) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((((triple8) -> (rule7 % int4)) triple6) -> (rule3 % int3))) -> (rule1 % int2)) ((triple8) -> (rule7 % int4))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is not red.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "red" "-")
triple8
Dave is not rough.
Unknown
inv-rconc
[@4: Dave is rough.[CWA. Example of deepest failure = (rule8 <- rule4 <- rule3 <- rule5 <- FAIL)]]
("Dave" "is" "rough" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
@0: Charlie is furry.[(triple1)] Charlie is kind.[(triple2)] Charlie is quiet.[(triple3)] Charlie is rough.[(triple4 OR ((triple1) -> rule8))] Dave is young.[(triple5)] Fiona is furry.[(triple6)] Fiona is kind.[(triple7 OR ((triple9 triple10) -> rule6) OR ((triple9 ((triple8) -> rule7)) -> rule6) OR ((((triple6) -> rule8) triple10) -> rule6) OR ((((triple6) -> rule8) ((triple8) -> rule7)) -> rule6) OR ((((((triple10 triple6) -> rule3)) -> rule1) triple10) -> rule6) OR ((((((triple10 triple6) -> rule3)) -> rule1) ((triple8) -> rule7)) -> rule6) OR ((((((((triple8) -> rule7) triple6) -> rule3)) -> rule1) triple10) -> rule6) OR ((((((((triple8) -> rule7) triple6) -> rule3)) -> rule1) ((triple8) -> rule7)) -> rule6))] Fiona is red.[(triple8)] Fiona is rough.[(triple9 OR ((triple6) -> rule8) OR ((((triple10 triple6) -> rule3)) -> rule1) OR ((((((triple8) -> rule7) triple6) -> rule3)) -> rule1))] Fiona is young.[(triple10 OR ((triple8) -> rule7))] @1: Fiona is nice.[(((triple10 triple6) -> rule3) OR ((((triple8) -> rule7) triple6) -> rule3))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
((triple1) -> (rule8 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple5
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
((triple9 triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple9 ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple6) -> (rule8 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple6) -> (rule8 % int3)) ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple10 triple6) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple10 triple6) -> (rule3 % int4))) -> (rule1 % int3)) ((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((((((triple8) -> (rule7 % int4)) triple6) -> (rule3 % int3))) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((((triple8) -> (rule7 % int4)) triple6) -> (rule3 % int3))) -> (rule1 % int2)) ((triple8) -> (rule7 % int4))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
((triple6) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple10 triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((((triple8) -> (rule7 % int3)) triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
triple10
((triple8) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple10 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple8) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2