YES

Problem 1:

(VAR vu95NonEmpty x y)
(RULES
f(x) -> x | x ->* a
g(x) -> h(x,x)
h(x,y) -> i(x)
)

Problem 1:

Well-founded Relation Processor:
-> Rules:
 f(x) -> x | x ->* a
 g(x) -> h(x,x)
 h(x,y) -> i(x)
->AGES Output:

Model Results

System:
mod InTheory is
sort S .
sort Bool .


op _->*_ : S S -> Bool [m = 2] .
op _->_ : S S -> Bool [m = 2] .
op f : S -> S .
op g : S -> S .
op h : S S -> S .
op a :  -> S .
op fSNonEmpty :  -> S .
op i : S -> S .
op sqsupset : S S -> Bool [wellfounded m = 1] .

endm


Property:
x ->R* x
x ->R y /\ y ->R* z => x ->R* z
x1 ->R y1 => f(x1) ->R f(y1)
x1 ->R y1 => g(x1) ->R g(y1)
x1 ->R y1 => h(x1,x2) ->R h(y1,x2)
x2 ->R y2 => h(x1,x2) ->R h(x1,y2)
x1 ->R y1 => i(x1) ->R i(y1)
x ->R* a => f(x) ->R x
g(x) ->R h(x,x)
h(x,y) ->R i(x)
x ->R y => sqsupset(x,y)

Results:


Domains:
S: |N \ {0}

Function Interpretations:
|[a]| = 1
|[f(x_1_1:S)]| = 1 + 3.x_1_1:S
|[fSNonEmpty]| = 1
|[g(x_1_1:S)]| = 4.x_1_1:S
|[h(x_1_1:S,x_2_1:S)]| = - 1 + x_1_1:S + 3.x_2_1:S
|[i(x_1_1:S)]| = 1 + x_1_1:S

Predicate Interpretations:
 x_1_1:S ->* x_2_1:S <=> ((x_2_1:S >= 1) /\ (x_1_1:S >= 1))
 x_1_1:S -> x_2_1:S <=> ((x_1_1:S >= 1 + x_2_1:S) /\ (x_2_1:S >= 1))
sqsupset(x_1_1:S,x_2_1:S) <=> (2.x_1_1:S >= 1 + 2.x_2_1:S)

The problem is finite.
0.79user 0.11system 0:01.26elapsed 72%CPU (0avgtext+0avgdata 45308maxresident)k
25848inputs+96outputs (116major+13291minor)pagefaults 0swaps
