[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: [mizar] Inductive predicates
Dear All,
I asked Dr.Grzegorz Bancerek if there is inductive predicate definitions in Mizar and below is Dr.Grzegorz Bancerek's answer.
I tried to write the recursive definition of factorial using Dr.Grzegorz Bancerek's
template predicate definition.
When I tried to define F and G functions "outside of predicate definition" Mizar
is complaining that (I think all definitions are global) the definition of pred is global and F and G are local as follows:
deffunc F ...
deffunc G ...
definition
let X; let x,y be Element of X;
pred x fac y means :: x! = y
for Y st
(for a,b st [a,b] = [0,1] holds [a,b] in Y) &
(for a,b st [a,b] in Y holds [F(a),G(b)] in Y)
holds [x,y] in Y;
end;
How can one define the recursive factorial as predicate in Mizar with F and G functions?
Thank you...
Adem Ozyavas
> Hi,
> there is no regular recursive definition of predicates in Mizar.
> Instead you should use something like
> definition
> let X; let x,y be Element of X;
> pred x rec y means
> for Y st
> (for a,b st START_CONDITION holds [a,b] in Y) &
> (for a,b st [a,b] in Y holds [F(a),G(b)] in Y)
> holds [x,y] in Y;
> end;
>Grzegorz
>On Sun, 16 Aug 2009, Ozyavas, Adem wrote:
> Dear All,
>
> Is there any way to write inductive predicates in Mizar?
>
> My purpose is to have inductive predicates instead of recursive functions to avoid existence and uniqueness proofs of recursive functions and leaving the fact that this predicate has functional property as a later task. I have searched the library and could not find any examples.
>
> Thanks...
>
> Adem Ozyavas