sur coq:Pourquoi en est la preuve complète après avoir prouvé que pour une induction lorsque nous avons plus d'une variable?

cs.stackexchange https://cs.stackexchange.com/questions/126740

Question

Je suis donc l'apprentissage de coq.Et je suis tombé sur la preuve de l'associativité de l'addition forall (a b c : nat)

enter image description here

Appearntly lorsque nous ne induction a. après intros a b c., il crée 2 subgoals

enter image description here

et ensuite, nous avons simplement besoin de montrer que les deux côtés à la fois subgoals sont équivalentes, et la preuve, c'est terminé.

Donc, je me demande pourquoi nous n'avons pas besoin de le faire induction b. et induction c. pour terminer la preuve?Pourquoi uniquement par induction sur a est en mesure de terminer la preuve?

Ou en d'autres termes, comment venir dans la fonction qui retourne la preuve, nous venons de passer b et c pour le "libre"?De manière constructive, n'avons-nous pas besoin de quelque chose comme une double induction appliquée deux fois?

enter image description here

Était-ce utile?

La solution

Vous n'avez pas ont de prouver des choses, par l'induction.Par exemple, vous pouvez prouver $\forall n :\mathbb{N} \,.\, n = $n sans l'induction par l'application de la réflexivité.Dans la preuve, nous utilisons induction sur $a$, mais alors nous n'avons pas besoin pour utiliser l'induction sur $b$ et $c$ parce que nous pouvons terminer la preuve, simplement à l'aide d'autres méthodes.Nous pourrait avoir utilisé par induction sur $b$ et $c$, et vous devriez essayer de le faire, pour voir comment inutile applications de l'induction est juste faire preuve de plus et de moins en moins claires.

P. S.Cela n'a absolument rien à voir avec constructivity.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top