Functional programming 以下代码如何执行所需功能? 引理奇数| pred2n:forall n:nat,偶数.odd n->{p:nat | n=pred Div2.double p}。 引理偶数n:forall n,偶数n->{p:nat | n=double p}。 引理偶数奇数存在{p:nat | n=Div2.double p}+{p:nat | n=pred Div2.double p}。 证据 简介。 将偶数、偶数、奇数分解为[H_奇偶校验| H_奇偶校验]; [左;应用Div2.偶数\u 2n\u奇偶校验 |右;应用奇数pred2n H_奇偶校验]。 定义 定义nat_to_Z_i n:nat:= 匹配偶数\u奇数\u存在\u dec n |inl s=>设k,u:=s在k的Z_中 |inr s=>设k,:s在k的Zopp Z_中 终止

Functional programming 以下代码如何执行所需功能? 引理奇数| pred2n:forall n:nat,偶数.odd n->{p:nat | n=pred Div2.double p}。 引理偶数n:forall n,偶数n->{p:nat | n=double p}。 引理偶数奇数存在{p:nat | n=Div2.double p}+{p:nat | n=pred Div2.double p}。 证据 简介。 将偶数、偶数、奇数分解为[H_奇偶校验| H_奇偶校验]; [左;应用Div2.偶数\u 2n\u奇偶校验 |右;应用奇数pred2n H_奇偶校验]。 定义 定义nat_to_Z_i n:nat:= 匹配偶数\u奇数\u存在\u dec n |inl s=>设k,u:=s在k的Z_中 |inr s=>设k,:s在k的Zopp Z_中 终止,functional-programming,coq,theorem-proving,Functional Programming,Coq,Theorem Proving,这个定义如何定义从nat到Z的注入?那么,什么是inl,inr,让我们在这里做什么?奇数pred2n接受一个自然数并证明它是奇数,然后返回该奇数自然数下半舍入的后继数,同时还证明double的前导数是原始奇数自然数 偶数2n取一个自然数并证明它是偶数,返回偶数自然数的一半,还证明double是原始偶数自然数 偶数-奇数-存在-决定一个自然数是偶数还是奇数,返回一半或一半的后继者,并证明double或double的前身是原始的 nat_to_Z_i执行以下映射 0 -> 0 1 ->

这个定义如何定义从nat到Z的注入?那么,什么是inl,inr,让我们在这里做什么?

奇数pred2n接受一个自然数并证明它是奇数,然后返回该奇数自然数下半舍入的后继数,同时还证明double的前导数是原始奇数自然数

偶数2n取一个自然数并证明它是偶数,返回偶数自然数的一半,还证明double是原始偶数自然数

偶数-奇数-存在-决定一个自然数是偶数还是奇数,返回一半或一半的后继者,并证明double或double的前身是原始的

nat_to_Z_i执行以下映射

0 -> 0
1 -> - 1
2 -> 1
3 -> - 2
4 -> 2
5 -> - 3
6 -> 3
...
inl和inr是要求和的构造函数

如果s:{x:T | px},则s=x,H与x:T和H:px。设x,y:=z在f x y中等于:

匹配z |x,y=>fxy 终止 以及:

匹配偶数\u奇数\u存在\u dec n |inl s=>设k,u:=s在k的Z_中 |inr s=>设k,:s在k的Zopp Z_中 终止 相当于:

匹配偶数\u奇数\u存在\u dec n |inl k,u=>Z_of_nat k |inr k,=>Zopp Z_of_nat k 终止
Print sum.