有人知道mult在coq是怎么工作的吗?
我现在正在学习基础部分。我发现mult函数包含plus,如下所示:有人知道mult在coq是怎么工作的吗?,coq,Coq,我现在正在学习基础部分。我发现mult函数包含plus,如下所示: Fixpoint mult (n m : nat) : nat := match n with | O ⇒ O | S n' ⇒ plus m (mult n' m) end. Example test_mult1: (mult 3 3) = 9. Proof. simpl. reflexivity. Qed. 我打开骡子,它就露了出来 1子目标 ____________________________
Fixpoint mult (n m : nat) : nat :=
match n with
| O ⇒ O
| S n' ⇒ plus m (mult n' m)
end.
Example test_mult1: (mult 3 3) = 9.
Proof. simpl. reflexivity. Qed.
我打开骡子,它就露了出来
1子目标
______________________________________(1/1)
3+(3+(3+0))=9
我知道BC+m,m是3,所以有3次加号。但是我很好奇0来自哪里。如果这3表示m,那么n在哪里
谢谢大家! 首先,您应该记住3是表示
S(S(so))
当你要求计算mult 3时,只有mult的一个步骤,你会得到:
mult 3 3 = mult (S 2) 3 = 3 + mult 2 3
现在,如果你计算mult 2 3,你会得到:
mult 2 3 = mult (S 1) 3 = 3 + mult 1 3
然后:
mult 1 3 = mult (S O) 3 = 3 + mult 0 3
和tnen:
mult 0 3 = 0
因此,计算
mult
时出现的0
来自mult03
,0
不是来自“O⇒ O“?和n
转化为展开中的步骤数?