1.73/1.87 YES 1.73/1.87 1.73/1.87 Problem 1: 1.73/1.87 1.73/1.87 (VAR v_NonEmpty:S x:S xs:S y:S ys:S zs:S) 1.73/1.87 (RULES 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ) 1.73/1.87 1.73/1.87 Problem 1: 1.73/1.87 Valid CTRS Processor: 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 -> The system is a deterministic 3-CTRS. 1.73/1.87 1.73/1.87 Problem 1: 1.73/1.87 1.73/1.87 Dependency Pairs Processor: 1.73/1.87 1.73/1.87 Conditional Termination Problem 1: 1.73/1.87 -> Pairs: 1.73/1.87 APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) 1.73/1.87 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> APP(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 1.73/1.87 Conditional Termination Problem 2: 1.73/1.87 -> Pairs: 1.73/1.87 QSORT(cons(x:S,xs:S)) -> SPLIT(x:S,xs:S) 1.73/1.87 SPLIT(x:S,cons(y:S,ys:S)) -> LE(x:S,y:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S) 1.73/1.87 SPLIT(x:S,cons(y:S,ys:S)) -> SPLIT(x:S,ys:S) 1.73/1.87 -> QPairs: 1.73/1.87 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 1.73/1.87 1.73/1.87 The problem is decomposed in 2 subproblems. 1.73/1.87 1.73/1.87 Problem 1.1: 1.73/1.87 1.73/1.87 SCC Processor: 1.73/1.87 -> Pairs: 1.73/1.87 APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) 1.73/1.87 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> APP(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Strongly Connected Components: 1.73/1.87 ->->Cycle: 1.73/1.87 ->->-> Pairs: 1.73/1.87 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 ->->-> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->->Cycle: 1.73/1.87 ->->-> Pairs: 1.73/1.87 APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 ->->-> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->->Cycle: 1.73/1.87 ->->-> Pairs: 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 ->->-> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 1.73/1.87 1.73/1.87 The problem is decomposed in 3 subproblems. 1.73/1.87 1.73/1.87 Problem 1.1.1: 1.73/1.87 1.73/1.87 Conditional Subterm Processor: 1.73/1.87 -> Pairs: 1.73/1.87 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Projection: 1.73/1.87 pi(LE) = 1 1.73/1.87 1.73/1.87 Problem 1.1.1: 1.73/1.87 1.73/1.87 SCC Processor: 1.73/1.87 -> Pairs: 1.73/1.87 Empty 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Strongly Connected Components: 1.73/1.87 There is no strongly connected component 1.73/1.87 1.73/1.87 The problem is finite. 1.73/1.87 1.73/1.87 Problem 1.1.2: 1.73/1.87 1.73/1.87 Conditional Subterm Processor: 1.73/1.87 -> Pairs: 1.73/1.87 APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Projection: 1.73/1.87 pi(APP) = 1 1.73/1.87 1.73/1.87 Problem 1.1.2: 1.73/1.87 1.73/1.87 SCC Processor: 1.73/1.87 -> Pairs: 1.73/1.87 Empty 1.73/1.87 -> QPairs: 1.73/1.87 Empty 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Strongly Connected Components: 1.73/1.87 There is no strongly connected component 1.73/1.87 1.73/1.87 The problem is finite. 1.73/1.87 1.73/1.87 Problem 1.1.3: 1.73/1.87 1.73/1.87 Reduction Pair Processor: 1.73/1.87 -> Pairs: 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 -> Rules: 1.73/1.87 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.87 app(nil,x:S) -> x:S 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.87 qsort(nil) -> nil 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 -> Needed rules: 1.73/1.87 Empty 1.73/1.87 -> Usable rules: 1.73/1.87 le(0,x:S) -> ttrue 1.73/1.87 le(s(x:S),0) -> ffalse 1.73/1.87 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.87 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.87 split(x:S,nil) -> pair(nil,nil) 1.73/1.87 ->Mace4 Output: 1.73/1.87 ============================== Mace4 ================================= 1.73/1.87 Mace4 (64) version 2009-11A, November 2009. 1.73/1.87 Process 61940 was started by sandbox on n049.star.cs.uiowa.edu, 1.73/1.87 Fri Mar 29 01:46:42 2019 1.73/1.87 The command was "./mace4 -c -f /tmp/mace45965166491189641421.in". 1.73/1.87 ============================== end of head =========================== 1.73/1.87 1.73/1.87 ============================== INPUT ================================= 1.73/1.87 1.73/1.87 % Reading from file /tmp/mace45965166491189641421.in 1.73/1.87 1.73/1.87 assign(max_seconds,20). 1.73/1.87 1.73/1.87 formulas(assumptions). 1.73/1.87 arrowStar_s0(x,x) # label(reflexivity). 1.73/1.87 arrow_s0(x,y) & arrowStar_s0(y,z) -> arrowStar_s0(x,z) # label(compatibility). 1.73/1.87 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 1.73/1.87 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 1.73/1.87 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f2(x1,x2),f2(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f2(x1,x2),f2(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f5(x1,x2),f5(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f5(x1,x2),f5(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f7(x1,x2),f7(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f7(x1,x2),f7(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f12(x1,x2),f12(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f12(x1,x2),f12(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence). 1.73/1.87 arrow_s0(x1,y) -> arrow_s0(f21(x1,x2),f21(y,x2)) # label(congruence). 1.73/1.87 arrow_s0(x2,y) -> arrow_s0(f21(x1,x2),f21(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f2(x1,x2),f2(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f2(x1,x2),f2(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f3(x1,x2),f3(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f3(x1,x2),f3(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f4(x1),f4(y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f5(x1,x2),f5(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f5(x1,x2),f5(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f7(x1,x2),f7(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f7(x1,x2),f7(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f11(x1,x2),f11(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f11(x1,x2),f11(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f12(x1,x2),f12(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f12(x1,x2),f12(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f13(x1),f13(y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f17(x1,x2),f17(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f17(x1,x2),f17(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f18(x1,x2),f18(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f18(x1,x2),f18(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f19(x1),f19(y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f20(x1,x2),f20(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f20(x1,x2),f20(x1,y)) # label(congruence). 1.73/1.87 arrowN_s0(x1,y) -> arrowN_s0(f21(x1,x2),f21(y,x2)) # label(congruence). 1.73/1.87 arrowN_s0(x2,y) -> arrowN_s0(f21(x1,x2),f21(x1,y)) # label(congruence). 1.73/1.87 arrow_s0(f3(f6,x1),f14) # label(replacement). 1.73/1.87 arrow_s0(f3(f13(x1),f6),f9) # label(replacement). 1.73/1.87 arrow_s0(f3(f13(x1),f13(x3)),f3(x1,x3)) # label(replacement). 1.73/1.87 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f9) -> arrow_s0(f5(x1,f7(x3,x4)),f11(f7(x3,x2),x5)) # label(replacement). 1.73/1.87 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f14) -> arrow_s0(f5(x1,f7(x3,x4)),f11(x2,f7(x3,x5))) # label(replacement). 1.73/1.87 arrow_s0(f5(x1,f10),f11(f10,f10)) # label(replacement). 1.73/1.87 arrow_s0(f21(x6,x7),x6) # label(replacement). 1.73/1.87 arrow_s0(f21(x6,x7),x7) # label(replacement). 1.73/1.87 arrowN_s0(f21(x6,x7),x6) # label(replacement). 1.73/1.87 arrowN_s0(f21(x6,x7),x7) # label(replacement). 1.73/1.87 arrowN_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion). 1.73/1.87 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> sqsupset_s0(f19(f7(x1,x2)),f19(x4)) # label(replacement). 1.73/1.87 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> succeq_s0(f19(f7(x1,x2)),f19(x5)) # label(replacement). 1.73/1.87 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion). 1.73/1.87 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility). 1.73/1.87 end_of_list. 1.73/1.87 1.73/1.87 formulas(goals). 1.73/1.87 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness). 1.73/1.87 end_of_list. 1.73/1.87 1.73/1.87 ============================== end of input ========================== 1.73/1.87 1.73/1.87 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 1.73/1.87 1.73/1.87 % Formulas that are not ordinary clauses: 1.73/1.87 1 arrow_s0(x,y) & arrowStar_s0(y,z) -> arrowStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.87 2 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.87 3 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.87 4 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.87 5 arrow_s0(x1,y) -> arrow_s0(f2(x1,x2),f2(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 6 arrow_s0(x2,y) -> arrow_s0(f2(x1,x2),f2(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 7 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 8 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 9 arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 10 arrow_s0(x1,y) -> arrow_s0(f5(x1,x2),f5(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 11 arrow_s0(x2,y) -> arrow_s0(f5(x1,x2),f5(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 12 arrow_s0(x1,y) -> arrow_s0(f7(x1,x2),f7(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 13 arrow_s0(x2,y) -> arrow_s0(f7(x1,x2),f7(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 14 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 15 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 16 arrow_s0(x1,y) -> arrow_s0(f12(x1,x2),f12(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 17 arrow_s0(x2,y) -> arrow_s0(f12(x1,x2),f12(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 18 arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 19 arrow_s0(x1,y) -> arrow_s0(f21(x1,x2),f21(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 20 arrow_s0(x2,y) -> arrow_s0(f21(x1,x2),f21(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 21 arrowN_s0(x1,y) -> arrowN_s0(f2(x1,x2),f2(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 22 arrowN_s0(x2,y) -> arrowN_s0(f2(x1,x2),f2(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 23 arrowN_s0(x1,y) -> arrowN_s0(f3(x1,x2),f3(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 24 arrowN_s0(x2,y) -> arrowN_s0(f3(x1,x2),f3(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 25 arrowN_s0(x1,y) -> arrowN_s0(f4(x1),f4(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 26 arrowN_s0(x1,y) -> arrowN_s0(f5(x1,x2),f5(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 27 arrowN_s0(x2,y) -> arrowN_s0(f5(x1,x2),f5(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 28 arrowN_s0(x1,y) -> arrowN_s0(f7(x1,x2),f7(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 29 arrowN_s0(x2,y) -> arrowN_s0(f7(x1,x2),f7(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 30 arrowN_s0(x1,y) -> arrowN_s0(f11(x1,x2),f11(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 31 arrowN_s0(x2,y) -> arrowN_s0(f11(x1,x2),f11(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 32 arrowN_s0(x1,y) -> arrowN_s0(f12(x1,x2),f12(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 33 arrowN_s0(x2,y) -> arrowN_s0(f12(x1,x2),f12(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 34 arrowN_s0(x1,y) -> arrowN_s0(f13(x1),f13(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 35 arrowN_s0(x1,y) -> arrowN_s0(f17(x1,x2),f17(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 36 arrowN_s0(x2,y) -> arrowN_s0(f17(x1,x2),f17(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 37 arrowN_s0(x1,y) -> arrowN_s0(f18(x1,x2),f18(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 38 arrowN_s0(x2,y) -> arrowN_s0(f18(x1,x2),f18(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 39 arrowN_s0(x1,y) -> arrowN_s0(f19(x1),f19(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 40 arrowN_s0(x1,y) -> arrowN_s0(f20(x1,x2),f20(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 41 arrowN_s0(x2,y) -> arrowN_s0(f20(x1,x2),f20(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 42 arrowN_s0(x1,y) -> arrowN_s0(f21(x1,x2),f21(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 43 arrowN_s0(x2,y) -> arrowN_s0(f21(x1,x2),f21(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.87 44 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f9) -> arrow_s0(f5(x1,f7(x3,x4)),f11(f7(x3,x2),x5)) # label(replacement) # label(non_clause). [assumption]. 1.73/1.87 45 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f14) -> arrow_s0(f5(x1,f7(x3,x4)),f11(x2,f7(x3,x5))) # label(replacement) # label(non_clause). [assumption]. 1.73/1.87 46 arrowN_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 1.73/1.87 47 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> sqsupset_s0(f19(f7(x1,x2)),f19(x4)) # label(replacement) # label(non_clause). [assumption]. 1.73/1.87 48 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> succeq_s0(f19(f7(x1,x2)),f19(x5)) # label(replacement) # label(non_clause). [assumption]. 1.73/1.87 49 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 1.73/1.87 50 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.87 51 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness) # label(non_clause) # label(goal). [goal]. 1.73/1.87 1.73/1.87 ============================== end of process non-clausal formulas === 1.73/1.87 1.73/1.87 ============================== CLAUSES FOR SEARCH ==================== 1.73/1.87 1.73/1.87 formulas(mace4_clauses). 1.73/1.87 arrowStar_s0(x,x) # label(reflexivity). 1.73/1.87 -arrow_s0(x,y) | -arrowStar_s0(y,z) | arrowStar_s0(x,z) # label(compatibility). 1.73/1.87 -gtrsim_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 1.73/1.87 -succeq_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 1.73/1.87 -gtrsim_s0(x,y) | -succeq_s0(y,z) | gtrsim_s0(x,z) # label(compatibility). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f2(x,z),f2(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f2(z,x),f2(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f3(x,z),f3(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f3(z,x),f3(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f4(x),f4(y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f5(x,z),f5(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f5(z,x),f5(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f7(x,z),f7(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f7(z,x),f7(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f11(x,z),f11(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f11(z,x),f11(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f12(x,z),f12(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f12(z,x),f12(z,y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f13(x),f13(y)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f21(x,z),f21(y,z)) # label(congruence). 1.73/1.87 -arrow_s0(x,y) | arrow_s0(f21(z,x),f21(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f2(x,z),f2(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f2(z,x),f2(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f3(x,z),f3(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f3(z,x),f3(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f4(x),f4(y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f5(x,z),f5(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f5(z,x),f5(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f7(x,z),f7(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f7(z,x),f7(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f11(x,z),f11(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f11(z,x),f11(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f12(x,z),f12(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f12(z,x),f12(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f13(x),f13(y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f17(x,z),f17(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f17(z,x),f17(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f18(x,z),f18(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f18(z,x),f18(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f19(x),f19(y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f20(x,z),f20(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f20(z,x),f20(z,y)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f21(x,z),f21(y,z)) # label(congruence). 1.73/1.87 -arrowN_s0(x,y) | arrowN_s0(f21(z,x),f21(z,y)) # label(congruence). 1.73/1.87 arrow_s0(f3(f6,x),f14) # label(replacement). 1.73/1.87 arrow_s0(f3(f13(x),f6),f9) # label(replacement). 1.73/1.87 arrow_s0(f3(f13(x),f13(y)),f3(x,y)) # label(replacement). 1.73/1.87 -arrowStar_s0(f5(x,y),f12(z,u)) | -arrowStar_s0(f3(x,w),f9) | arrow_s0(f5(x,f7(w,y)),f11(f7(w,z),u)) # label(replacement). 1.73/1.87 -arrowStar_s0(f5(x,y),f12(z,u)) | -arrowStar_s0(f3(x,w),f14) | arrow_s0(f5(x,f7(w,y)),f11(z,f7(w,u))) # label(replacement). 1.73/1.87 arrow_s0(f5(x,f10),f11(f10,f10)) # label(replacement). 1.73/1.87 arrow_s0(f21(x,y),x) # label(replacement). 1.73/1.87 arrow_s0(f21(x,y),y) # label(replacement). 1.73/1.87 arrowN_s0(f21(x,y),x) # label(replacement). 1.73/1.87 arrowN_s0(f21(x,y),y) # label(replacement). 1.73/1.87 -arrowN_s0(x,y) | gtrsim_s0(x,y) # label(inclusion). 1.73/1.87 -arrowStar_s0(f5(x,y),f11(z,u)) | sqsupset_s0(f19(f7(x,y)),f19(z)) # label(replacement). 1.73/1.87 -arrowStar_s0(f5(x,y),f11(z,u)) | succeq_s0(f19(f7(x,y)),f19(u)) # label(replacement). 1.73/1.87 -sqsupset_s0(x,y) | sqsupsetStar_s0(x,y) # label(inclusion). 1.73/1.87 -sqsupset_s0(x,y) | -sqsupsetStar_s0(y,z) | sqsupsetStar_s0(x,z) # label(compatibility). 1.73/1.87 -sqsupsetStar_s0(x,x) # label(wellfoundedness). 1.73/1.87 end_of_list. 1.73/1.87 1.73/1.87 ============================== end of clauses for search ============= 1.73/1.87 1.73/1.87 % There are no natural numbers in the input. 1.73/1.87 1.73/1.87 ============================== DOMAIN SIZE 2 ========================= 1.73/1.87 1.73/1.87 ============================== MODEL ================================= 1.73/1.87 1.73/1.87 interpretation( 2, [number=1, seconds=0], [ 1.73/1.87 1.73/1.87 function(f10, [ 0 ]), 1.73/1.87 1.73/1.87 function(f14, [ 0 ]), 1.73/1.87 1.73/1.87 function(f6, [ 0 ]), 1.73/1.87 1.73/1.87 function(f9, [ 0 ]), 1.73/1.87 1.73/1.87 function(f13(_), [ 0, 0 ]), 1.73/1.87 1.73/1.87 function(f19(_), [ 0, 1 ]), 1.73/1.87 1.73/1.87 function(f4(_), [ 0, 0 ]), 1.73/1.87 1.73/1.87 function(f11(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 function(f12(_,_), [ 1.73/1.87 1, 1, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 function(f17(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f18(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f2(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f20(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f21(_,_), [ 1.73/1.87 0, 1, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 function(f3(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f5(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 0, 0 ]), 1.73/1.87 1.73/1.87 function(f7(_,_), [ 1.73/1.87 1, 1, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 relation(arrowN_s0(_,_), [ 1.73/1.87 1, 0, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 relation(arrowStar_s0(_,_), [ 1.73/1.87 1, 0, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 relation(arrow_s0(_,_), [ 1.73/1.87 1, 0, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 relation(gtrsim_s0(_,_), [ 1.73/1.87 1, 0, 1.73/1.87 1, 1 ]), 1.73/1.87 1.73/1.87 relation(sqsupsetStar_s0(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 1, 0 ]), 1.73/1.87 1.73/1.87 relation(sqsupset_s0(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 1, 0 ]), 1.73/1.87 1.73/1.87 relation(succeq_s0(_,_), [ 1.73/1.87 0, 0, 1.73/1.87 1, 1 ]) 1.73/1.87 ]). 1.73/1.87 1.73/1.87 ============================== end of model ========================== 1.73/1.87 1.73/1.87 ============================== STATISTICS ============================ 1.73/1.87 1.73/1.87 For domain size 2. 1.73/1.87 1.73/1.87 Current CPU time: 0.00 seconds (total CPU time: 0.82 seconds). 1.73/1.87 Ground clauses: seen=466, kept=462. 1.73/1.87 Selections=69039, assignments=138047, propagations=223726, current_models=1. 1.73/1.87 Rewrite_terms=5275362, rewrite_bools=3618306, indexes=185695. 1.73/1.87 Rules_from_neg_clauses=100834, cross_offs=100834. 1.73/1.87 1.73/1.87 ============================== end of statistics ===================== 1.73/1.87 1.73/1.87 User_CPU=0.82, System_CPU=0.06, Wall_clock=1. 1.73/1.87 1.73/1.87 Exiting with 1 model. 1.73/1.87 1.73/1.87 Process 61940 exit (max_models) Fri Mar 29 01:46:43 2019 1.73/1.87 The process finished Fri Mar 29 01:46:43 2019 1.73/1.87 1.73/1.87 1.73/1.87 Mace4 cooked interpretation: 1.73/1.87 1.73/1.87 % number = 1 1.73/1.87 % seconds = 0 1.73/1.87 1.73/1.87 % Interpretation of size 2 1.73/1.87 1.73/1.87 f10 = 0. 1.73/1.87 1.73/1.87 f14 = 0. 1.73/1.87 1.73/1.87 f6 = 0. 1.73/1.87 1.73/1.87 f9 = 0. 1.73/1.87 1.73/1.87 f13(0) = 0. 1.73/1.87 f13(1) = 0. 1.73/1.87 1.73/1.87 f19(0) = 0. 1.73/1.87 f19(1) = 1. 1.73/1.87 1.73/1.87 f4(0) = 0. 1.73/1.87 f4(1) = 0. 1.73/1.87 1.73/1.87 f11(0,0) = 0. 1.73/1.87 f11(0,1) = 0. 1.73/1.87 f11(1,0) = 1. 1.73/1.87 f11(1,1) = 1. 1.73/1.87 1.73/1.87 f12(0,0) = 1. 1.73/1.87 f12(0,1) = 1. 1.73/1.87 f12(1,0) = 1. 1.73/1.87 f12(1,1) = 1. 1.73/1.87 1.73/1.87 f17(0,0) = 0. 1.73/1.87 f17(0,1) = 0. 1.73/1.87 f17(1,0) = 0. 1.73/1.87 f17(1,1) = 0. 1.73/1.87 1.73/1.87 f18(0,0) = 0. 1.73/1.87 f18(0,1) = 0. 1.73/1.87 f18(1,0) = 0. 1.73/1.87 f18(1,1) = 0. 1.73/1.87 1.73/1.87 f2(0,0) = 0. 1.73/1.87 f2(0,1) = 0. 1.73/1.87 f2(1,0) = 0. 1.73/1.87 f2(1,1) = 0. 1.73/1.88 1.73/1.88 f20(0,0) = 0. 1.73/1.88 f20(0,1) = 0. 1.73/1.88 f20(1,0) = 0. 1.73/1.88 f20(1,1) = 0. 1.73/1.88 1.73/1.88 f21(0,0) = 0. 1.73/1.88 f21(0,1) = 1. 1.73/1.88 f21(1,0) = 1. 1.73/1.88 f21(1,1) = 1. 1.73/1.88 1.73/1.88 f3(0,0) = 0. 1.73/1.88 f3(0,1) = 0. 1.73/1.88 f3(1,0) = 0. 1.73/1.88 f3(1,1) = 0. 1.73/1.88 1.73/1.88 f5(0,0) = 0. 1.73/1.88 f5(0,1) = 0. 1.73/1.88 f5(1,0) = 0. 1.73/1.88 f5(1,1) = 0. 1.73/1.88 1.73/1.88 f7(0,0) = 1. 1.73/1.88 f7(0,1) = 1. 1.73/1.88 f7(1,0) = 1. 1.73/1.88 f7(1,1) = 1. 1.73/1.88 1.73/1.88 arrowN_s0(0,0). 1.73/1.88 - arrowN_s0(0,1). 1.73/1.88 arrowN_s0(1,0). 1.73/1.88 arrowN_s0(1,1). 1.73/1.88 1.73/1.88 arrowStar_s0(0,0). 1.73/1.88 - arrowStar_s0(0,1). 1.73/1.88 arrowStar_s0(1,0). 1.73/1.88 arrowStar_s0(1,1). 1.73/1.88 1.73/1.88 arrow_s0(0,0). 1.73/1.88 - arrow_s0(0,1). 1.73/1.88 arrow_s0(1,0). 1.73/1.88 arrow_s0(1,1). 1.73/1.88 1.73/1.88 gtrsim_s0(0,0). 1.73/1.88 - gtrsim_s0(0,1). 1.73/1.88 gtrsim_s0(1,0). 1.73/1.88 gtrsim_s0(1,1). 1.73/1.88 1.73/1.88 - sqsupsetStar_s0(0,0). 1.73/1.88 - sqsupsetStar_s0(0,1). 1.73/1.88 sqsupsetStar_s0(1,0). 1.73/1.88 - sqsupsetStar_s0(1,1). 1.73/1.88 1.73/1.88 - sqsupset_s0(0,0). 1.73/1.88 - sqsupset_s0(0,1). 1.73/1.88 sqsupset_s0(1,0). 1.73/1.88 - sqsupset_s0(1,1). 1.73/1.88 1.73/1.88 - succeq_s0(0,0). 1.73/1.88 - succeq_s0(0,1). 1.73/1.88 succeq_s0(1,0). 1.73/1.88 succeq_s0(1,1). 1.73/1.88 1.73/1.88 1.73/1.88 Problem 1.1.3: 1.73/1.88 1.73/1.88 SCC Processor: 1.73/1.88 -> Pairs: 1.73/1.88 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Strongly Connected Components: 1.73/1.88 ->->Cycle: 1.73/1.88 ->->-> Pairs: 1.73/1.88 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 ->->-> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 1.73/1.88 Problem 1.1.3: 1.73/1.88 1.73/1.88 Reduction Pair Processor: 1.73/1.88 -> Pairs: 1.73/1.88 QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 -> Needed rules: 1.73/1.88 Empty 1.73/1.88 -> Usable rules: 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Mace4 Output: 1.73/1.88 ============================== Mace4 ================================= 1.73/1.88 Mace4 (64) version 2009-11A, November 2009. 1.73/1.88 Process 61954 was started by sandbox on n049.star.cs.uiowa.edu, 1.73/1.88 Fri Mar 29 01:46:43 2019 1.73/1.88 The command was "./mace4 -c -f /tmp/mace43040891721303455736.in". 1.73/1.88 ============================== end of head =========================== 1.73/1.88 1.73/1.88 ============================== INPUT ================================= 1.73/1.88 1.73/1.88 % Reading from file /tmp/mace43040891721303455736.in 1.73/1.88 1.73/1.88 assign(max_seconds,20). 1.73/1.88 1.73/1.88 formulas(assumptions). 1.73/1.88 arrowStar_s0(x,x) # label(reflexivity). 1.73/1.88 arrow_s0(x,y) & arrowStar_s0(y,z) -> arrowStar_s0(x,z) # label(compatibility). 1.73/1.88 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 1.73/1.88 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 1.73/1.88 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f2(x1,x2),f2(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f2(x1,x2),f2(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f5(x1,x2),f5(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f5(x1,x2),f5(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f7(x1,x2),f7(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f7(x1,x2),f7(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f12(x1,x2),f12(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f12(x1,x2),f12(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence). 1.73/1.88 arrow_s0(x1,y) -> arrow_s0(f21(x1,x2),f21(y,x2)) # label(congruence). 1.73/1.88 arrow_s0(x2,y) -> arrow_s0(f21(x1,x2),f21(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f2(x1,x2),f2(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f2(x1,x2),f2(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f3(x1,x2),f3(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f3(x1,x2),f3(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f4(x1),f4(y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f5(x1,x2),f5(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f5(x1,x2),f5(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f7(x1,x2),f7(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f7(x1,x2),f7(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f11(x1,x2),f11(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f11(x1,x2),f11(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f12(x1,x2),f12(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f12(x1,x2),f12(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f13(x1),f13(y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f17(x1,x2),f17(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f17(x1,x2),f17(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f18(x1,x2),f18(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f18(x1,x2),f18(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f19(x1),f19(y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f20(x1,x2),f20(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f20(x1,x2),f20(x1,y)) # label(congruence). 1.73/1.88 arrowN_s0(x1,y) -> arrowN_s0(f21(x1,x2),f21(y,x2)) # label(congruence). 1.73/1.88 arrowN_s0(x2,y) -> arrowN_s0(f21(x1,x2),f21(x1,y)) # label(congruence). 1.73/1.88 arrow_s0(f3(f6,x1),f14) # label(replacement). 1.73/1.88 arrow_s0(f3(f13(x1),f6),f9) # label(replacement). 1.73/1.88 arrow_s0(f3(f13(x1),f13(x3)),f3(x1,x3)) # label(replacement). 1.73/1.88 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f9) -> arrow_s0(f5(x1,f7(x3,x4)),f11(f7(x3,x2),x5)) # label(replacement). 1.73/1.88 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f14) -> arrow_s0(f5(x1,f7(x3,x4)),f11(x2,f7(x3,x5))) # label(replacement). 1.73/1.88 arrow_s0(f5(x1,f10),f11(f10,f10)) # label(replacement). 1.73/1.88 arrow_s0(f21(x6,x7),x6) # label(replacement). 1.73/1.88 arrow_s0(f21(x6,x7),x7) # label(replacement). 1.73/1.88 arrowN_s0(f21(x6,x7),x6) # label(replacement). 1.73/1.88 arrowN_s0(f21(x6,x7),x7) # label(replacement). 1.73/1.88 arrowN_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion). 1.73/1.88 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> sqsupset_s0(f19(f7(x1,x2)),f19(x5)) # label(replacement). 1.73/1.88 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion). 1.73/1.88 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility). 1.73/1.88 end_of_list. 1.73/1.88 1.73/1.88 formulas(goals). 1.73/1.88 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness). 1.73/1.88 end_of_list. 1.73/1.88 1.73/1.88 ============================== end of input ========================== 1.73/1.88 1.73/1.88 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 1.73/1.88 1.73/1.88 % Formulas that are not ordinary clauses: 1.73/1.88 1 arrow_s0(x,y) & arrowStar_s0(y,z) -> arrowStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.88 2 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.88 3 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.88 4 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.88 5 arrow_s0(x1,y) -> arrow_s0(f2(x1,x2),f2(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 6 arrow_s0(x2,y) -> arrow_s0(f2(x1,x2),f2(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 7 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 8 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 9 arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 10 arrow_s0(x1,y) -> arrow_s0(f5(x1,x2),f5(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 11 arrow_s0(x2,y) -> arrow_s0(f5(x1,x2),f5(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 12 arrow_s0(x1,y) -> arrow_s0(f7(x1,x2),f7(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 13 arrow_s0(x2,y) -> arrow_s0(f7(x1,x2),f7(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 14 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 15 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 16 arrow_s0(x1,y) -> arrow_s0(f12(x1,x2),f12(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 17 arrow_s0(x2,y) -> arrow_s0(f12(x1,x2),f12(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 18 arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 19 arrow_s0(x1,y) -> arrow_s0(f21(x1,x2),f21(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 20 arrow_s0(x2,y) -> arrow_s0(f21(x1,x2),f21(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 21 arrowN_s0(x1,y) -> arrowN_s0(f2(x1,x2),f2(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 22 arrowN_s0(x2,y) -> arrowN_s0(f2(x1,x2),f2(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 23 arrowN_s0(x1,y) -> arrowN_s0(f3(x1,x2),f3(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 24 arrowN_s0(x2,y) -> arrowN_s0(f3(x1,x2),f3(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 25 arrowN_s0(x1,y) -> arrowN_s0(f4(x1),f4(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 26 arrowN_s0(x1,y) -> arrowN_s0(f5(x1,x2),f5(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 27 arrowN_s0(x2,y) -> arrowN_s0(f5(x1,x2),f5(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 28 arrowN_s0(x1,y) -> arrowN_s0(f7(x1,x2),f7(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 29 arrowN_s0(x2,y) -> arrowN_s0(f7(x1,x2),f7(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 30 arrowN_s0(x1,y) -> arrowN_s0(f11(x1,x2),f11(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 31 arrowN_s0(x2,y) -> arrowN_s0(f11(x1,x2),f11(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 32 arrowN_s0(x1,y) -> arrowN_s0(f12(x1,x2),f12(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 33 arrowN_s0(x2,y) -> arrowN_s0(f12(x1,x2),f12(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 34 arrowN_s0(x1,y) -> arrowN_s0(f13(x1),f13(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 35 arrowN_s0(x1,y) -> arrowN_s0(f17(x1,x2),f17(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 36 arrowN_s0(x2,y) -> arrowN_s0(f17(x1,x2),f17(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 37 arrowN_s0(x1,y) -> arrowN_s0(f18(x1,x2),f18(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 38 arrowN_s0(x2,y) -> arrowN_s0(f18(x1,x2),f18(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 39 arrowN_s0(x1,y) -> arrowN_s0(f19(x1),f19(y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 40 arrowN_s0(x1,y) -> arrowN_s0(f20(x1,x2),f20(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 41 arrowN_s0(x2,y) -> arrowN_s0(f20(x1,x2),f20(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 42 arrowN_s0(x1,y) -> arrowN_s0(f21(x1,x2),f21(y,x2)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 43 arrowN_s0(x2,y) -> arrowN_s0(f21(x1,x2),f21(x1,y)) # label(congruence) # label(non_clause). [assumption]. 1.73/1.88 44 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f9) -> arrow_s0(f5(x1,f7(x3,x4)),f11(f7(x3,x2),x5)) # label(replacement) # label(non_clause). [assumption]. 1.73/1.88 45 arrowStar_s0(f5(x1,x4),f12(x2,x5)) & arrowStar_s0(f3(x1,x3),f14) -> arrow_s0(f5(x1,f7(x3,x4)),f11(x2,f7(x3,x5))) # label(replacement) # label(non_clause). [assumption]. 1.73/1.88 46 arrowN_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 1.73/1.88 47 arrowStar_s0(f5(x1,x2),f11(x4,x5)) -> sqsupset_s0(f19(f7(x1,x2)),f19(x5)) # label(replacement) # label(non_clause). [assumption]. 1.73/1.88 48 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 1.73/1.88 49 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 1.73/1.88 50 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness) # label(non_clause) # label(goal). [goal]. 1.73/1.88 1.73/1.88 ============================== end of process non-clausal formulas === 1.73/1.88 1.73/1.88 ============================== CLAUSES FOR SEARCH ==================== 1.73/1.88 1.73/1.88 formulas(mace4_clauses). 1.73/1.88 arrowStar_s0(x,x) # label(reflexivity). 1.73/1.88 -arrow_s0(x,y) | -arrowStar_s0(y,z) | arrowStar_s0(x,z) # label(compatibility). 1.73/1.88 -gtrsim_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 1.73/1.88 -succeq_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 1.73/1.88 -gtrsim_s0(x,y) | -succeq_s0(y,z) | gtrsim_s0(x,z) # label(compatibility). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f2(x,z),f2(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f2(z,x),f2(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f3(x,z),f3(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f3(z,x),f3(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f4(x),f4(y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f5(x,z),f5(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f5(z,x),f5(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f7(x,z),f7(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f7(z,x),f7(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f11(x,z),f11(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f11(z,x),f11(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f12(x,z),f12(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f12(z,x),f12(z,y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f13(x),f13(y)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f21(x,z),f21(y,z)) # label(congruence). 1.73/1.88 -arrow_s0(x,y) | arrow_s0(f21(z,x),f21(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f2(x,z),f2(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f2(z,x),f2(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f3(x,z),f3(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f3(z,x),f3(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f4(x),f4(y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f5(x,z),f5(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f5(z,x),f5(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f7(x,z),f7(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f7(z,x),f7(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f11(x,z),f11(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f11(z,x),f11(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f12(x,z),f12(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f12(z,x),f12(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f13(x),f13(y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f17(x,z),f17(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f17(z,x),f17(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f18(x,z),f18(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f18(z,x),f18(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f19(x),f19(y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f20(x,z),f20(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f20(z,x),f20(z,y)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f21(x,z),f21(y,z)) # label(congruence). 1.73/1.88 -arrowN_s0(x,y) | arrowN_s0(f21(z,x),f21(z,y)) # label(congruence). 1.73/1.88 arrow_s0(f3(f6,x),f14) # label(replacement). 1.73/1.88 arrow_s0(f3(f13(x),f6),f9) # label(replacement). 1.73/1.88 arrow_s0(f3(f13(x),f13(y)),f3(x,y)) # label(replacement). 1.73/1.88 -arrowStar_s0(f5(x,y),f12(z,u)) | -arrowStar_s0(f3(x,w),f9) | arrow_s0(f5(x,f7(w,y)),f11(f7(w,z),u)) # label(replacement). 1.73/1.88 -arrowStar_s0(f5(x,y),f12(z,u)) | -arrowStar_s0(f3(x,w),f14) | arrow_s0(f5(x,f7(w,y)),f11(z,f7(w,u))) # label(replacement). 1.73/1.88 arrow_s0(f5(x,f10),f11(f10,f10)) # label(replacement). 1.73/1.88 arrow_s0(f21(x,y),x) # label(replacement). 1.73/1.88 arrow_s0(f21(x,y),y) # label(replacement). 1.73/1.88 arrowN_s0(f21(x,y),x) # label(replacement). 1.73/1.88 arrowN_s0(f21(x,y),y) # label(replacement). 1.73/1.88 -arrowN_s0(x,y) | gtrsim_s0(x,y) # label(inclusion). 1.73/1.88 -arrowStar_s0(f5(x,y),f11(z,u)) | sqsupset_s0(f19(f7(x,y)),f19(u)) # label(replacement). 1.73/1.88 -sqsupset_s0(x,y) | sqsupsetStar_s0(x,y) # label(inclusion). 1.73/1.88 -sqsupset_s0(x,y) | -sqsupsetStar_s0(y,z) | sqsupsetStar_s0(x,z) # label(compatibility). 1.73/1.88 -sqsupsetStar_s0(x,x) # label(wellfoundedness). 1.73/1.88 end_of_list. 1.73/1.88 1.73/1.88 ============================== end of clauses for search ============= 1.73/1.88 1.73/1.88 % There are no natural numbers in the input. 1.73/1.88 1.73/1.88 ============================== DOMAIN SIZE 2 ========================= 1.73/1.88 1.73/1.88 ============================== MODEL ================================= 1.73/1.88 1.73/1.88 interpretation( 2, [number=1, seconds=0], [ 1.73/1.88 1.73/1.88 function(f10, [ 0 ]), 1.73/1.88 1.73/1.88 function(f14, [ 0 ]), 1.73/1.88 1.73/1.88 function(f6, [ 0 ]), 1.73/1.88 1.73/1.88 function(f9, [ 0 ]), 1.73/1.88 1.73/1.88 function(f13(_), [ 0, 0 ]), 1.73/1.88 1.73/1.88 function(f19(_), [ 0, 1 ]), 1.73/1.88 1.73/1.88 function(f4(_), [ 0, 0 ]), 1.73/1.88 1.73/1.88 function(f11(_,_), [ 1.73/1.88 0, 1, 1.73/1.88 0, 1 ]), 1.73/1.88 1.73/1.88 function(f12(_,_), [ 1.73/1.88 1, 1, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 function(f17(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f18(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f2(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f20(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f21(_,_), [ 1.73/1.88 0, 1, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 function(f3(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f5(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]), 1.73/1.88 1.73/1.88 function(f7(_,_), [ 1.73/1.88 1, 1, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 relation(arrowN_s0(_,_), [ 1.73/1.88 1, 0, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 relation(arrowStar_s0(_,_), [ 1.73/1.88 1, 0, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 relation(arrow_s0(_,_), [ 1.73/1.88 1, 0, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 relation(gtrsim_s0(_,_), [ 1.73/1.88 1, 0, 1.73/1.88 1, 1 ]), 1.73/1.88 1.73/1.88 relation(sqsupsetStar_s0(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 1, 0 ]), 1.73/1.88 1.73/1.88 relation(sqsupset_s0(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 1, 0 ]), 1.73/1.88 1.73/1.88 relation(succeq_s0(_,_), [ 1.73/1.88 0, 0, 1.73/1.88 0, 0 ]) 1.73/1.88 ]). 1.73/1.88 1.73/1.88 ============================== end of model ========================== 1.73/1.88 1.73/1.88 ============================== STATISTICS ============================ 1.73/1.88 1.73/1.88 For domain size 2. 1.73/1.88 1.73/1.88 Current CPU time: 0.00 seconds (total CPU time: 0.74 seconds). 1.73/1.88 Ground clauses: seen=450, kept=446. 1.73/1.88 Selections=69041, assignments=138049, propagations=198437, current_models=1. 1.73/1.88 Rewrite_terms=4769630, rewrite_bools=3383128, indexes=109186. 1.73/1.88 Rules_from_neg_clauses=100834, cross_offs=100834. 1.73/1.88 1.73/1.88 ============================== end of statistics ===================== 1.73/1.88 1.73/1.88 User_CPU=0.74, System_CPU=0.06, Wall_clock=1. 1.73/1.88 1.73/1.88 Exiting with 1 model. 1.73/1.88 1.73/1.88 Process 61954 exit (max_models) Fri Mar 29 01:46:44 2019 1.73/1.88 The process finished Fri Mar 29 01:46:44 2019 1.73/1.88 1.73/1.88 1.73/1.88 Mace4 cooked interpretation: 1.73/1.88 1.73/1.88 % number = 1 1.73/1.88 % seconds = 0 1.73/1.88 1.73/1.88 % Interpretation of size 2 1.73/1.88 1.73/1.88 f10 = 0. 1.73/1.88 1.73/1.88 f14 = 0. 1.73/1.88 1.73/1.88 f6 = 0. 1.73/1.88 1.73/1.88 f9 = 0. 1.73/1.88 1.73/1.88 f13(0) = 0. 1.73/1.88 f13(1) = 0. 1.73/1.88 1.73/1.88 f19(0) = 0. 1.73/1.88 f19(1) = 1. 1.73/1.88 1.73/1.88 f4(0) = 0. 1.73/1.88 f4(1) = 0. 1.73/1.88 1.73/1.88 f11(0,0) = 0. 1.73/1.88 f11(0,1) = 1. 1.73/1.88 f11(1,0) = 0. 1.73/1.88 f11(1,1) = 1. 1.73/1.88 1.73/1.88 f12(0,0) = 1. 1.73/1.88 f12(0,1) = 1. 1.73/1.88 f12(1,0) = 1. 1.73/1.88 f12(1,1) = 1. 1.73/1.88 1.73/1.88 f17(0,0) = 0. 1.73/1.88 f17(0,1) = 0. 1.73/1.88 f17(1,0) = 0. 1.73/1.88 f17(1,1) = 0. 1.73/1.88 1.73/1.88 f18(0,0) = 0. 1.73/1.88 f18(0,1) = 0. 1.73/1.88 f18(1,0) = 0. 1.73/1.88 f18(1,1) = 0. 1.73/1.88 1.73/1.88 f2(0,0) = 0. 1.73/1.88 f2(0,1) = 0. 1.73/1.88 f2(1,0) = 0. 1.73/1.88 f2(1,1) = 0. 1.73/1.88 1.73/1.88 f20(0,0) = 0. 1.73/1.88 f20(0,1) = 0. 1.73/1.88 f20(1,0) = 0. 1.73/1.88 f20(1,1) = 0. 1.73/1.88 1.73/1.88 f21(0,0) = 0. 1.73/1.88 f21(0,1) = 1. 1.73/1.88 f21(1,0) = 1. 1.73/1.88 f21(1,1) = 1. 1.73/1.88 1.73/1.88 f3(0,0) = 0. 1.73/1.88 f3(0,1) = 0. 1.73/1.88 f3(1,0) = 0. 1.73/1.88 f3(1,1) = 0. 1.73/1.88 1.73/1.88 f5(0,0) = 0. 1.73/1.88 f5(0,1) = 0. 1.73/1.88 f5(1,0) = 0. 1.73/1.88 f5(1,1) = 0. 1.73/1.88 1.73/1.88 f7(0,0) = 1. 1.73/1.88 f7(0,1) = 1. 1.73/1.88 f7(1,0) = 1. 1.73/1.88 f7(1,1) = 1. 1.73/1.88 1.73/1.88 arrowN_s0(0,0). 1.73/1.88 - arrowN_s0(0,1). 1.73/1.88 arrowN_s0(1,0). 1.73/1.88 arrowN_s0(1,1). 1.73/1.88 1.73/1.88 arrowStar_s0(0,0). 1.73/1.88 - arrowStar_s0(0,1). 1.73/1.88 arrowStar_s0(1,0). 1.73/1.88 arrowStar_s0(1,1). 1.73/1.88 1.73/1.88 arrow_s0(0,0). 1.73/1.88 - arrow_s0(0,1). 1.73/1.88 arrow_s0(1,0). 1.73/1.88 arrow_s0(1,1). 1.73/1.88 1.73/1.88 gtrsim_s0(0,0). 1.73/1.88 - gtrsim_s0(0,1). 1.73/1.88 gtrsim_s0(1,0). 1.73/1.88 gtrsim_s0(1,1). 1.73/1.88 1.73/1.88 - sqsupsetStar_s0(0,0). 1.73/1.88 - sqsupsetStar_s0(0,1). 1.73/1.88 sqsupsetStar_s0(1,0). 1.73/1.88 - sqsupsetStar_s0(1,1). 1.73/1.88 1.73/1.88 - sqsupset_s0(0,0). 1.73/1.88 - sqsupset_s0(0,1). 1.73/1.88 sqsupset_s0(1,0). 1.73/1.88 - sqsupset_s0(1,1). 1.73/1.88 1.73/1.88 - succeq_s0(0,0). 1.73/1.88 - succeq_s0(0,1). 1.73/1.88 - succeq_s0(1,0). 1.73/1.88 - succeq_s0(1,1). 1.73/1.88 1.73/1.88 1.73/1.88 Problem 1.1.3: 1.73/1.88 1.73/1.88 SCC Processor: 1.73/1.88 -> Pairs: 1.73/1.88 Empty 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Strongly Connected Components: 1.73/1.88 There is no strongly connected component 1.73/1.88 1.73/1.88 The problem is finite. 1.73/1.88 1.73/1.88 Problem 1.2: 1.73/1.88 1.73/1.88 SCC Processor: 1.73/1.88 -> Pairs: 1.73/1.88 QSORT(cons(x:S,xs:S)) -> SPLIT(x:S,xs:S) 1.73/1.88 SPLIT(x:S,cons(y:S,ys:S)) -> LE(x:S,y:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S) 1.73/1.88 SPLIT(x:S,cons(y:S,ys:S)) -> SPLIT(x:S,ys:S) 1.73/1.88 -> QPairs: 1.73/1.88 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Strongly Connected Components: 1.73/1.88 ->->Cycle: 1.73/1.88 ->->-> Pairs: 1.73/1.88 SPLIT(x:S,cons(y:S,ys:S)) -> SPLIT(x:S,ys:S) 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 ->->-> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 1.73/1.88 Problem 1.2: 1.73/1.88 1.73/1.88 Conditional Subterm Processor: 1.73/1.88 -> Pairs: 1.73/1.88 SPLIT(x:S,cons(y:S,ys:S)) -> SPLIT(x:S,ys:S) 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Projection: 1.73/1.88 pi(SPLIT) = 2 1.73/1.88 1.73/1.88 Problem 1.2: 1.73/1.88 1.73/1.88 SCC Processor: 1.73/1.88 -> Pairs: 1.73/1.88 Empty 1.73/1.88 -> QPairs: 1.73/1.88 Empty 1.73/1.88 -> Rules: 1.73/1.88 app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) 1.73/1.88 app(nil,x:S) -> x:S 1.73/1.88 le(0,x:S) -> ttrue 1.73/1.88 le(s(x:S),0) -> ffalse 1.73/1.88 le(s(x:S),s(y:S)) -> le(x:S,y:S) 1.73/1.88 qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) 1.73/1.88 qsort(nil) -> nil 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ffalse 1.73/1.88 split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pairs(xs:S,zs:S), le(x:S,y:S) ->* ttrue 1.73/1.88 split(x:S,nil) -> pair(nil,nil) 1.73/1.88 ->Strongly Connected Components: 1.73/1.88 There is no strongly connected component 1.73/1.88 1.73/1.88 The problem is finite. 1.73/1.88 EOF