Mercurial > cpdt > repo
comparison src/MoreDep.v @ 367:b809d3a8a5b1
Pass over old Large material; index fixes
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 08 Nov 2011 11:54:09 -0500 |
parents | ad315efc3b6b |
children | 549d604c3d16 |
comparison
equal
deleted
inserted
replaced
366:03e200599633 | 367:b809d3a8a5b1 |
---|---|
640 Section present. | 640 Section present. |
641 Variable z : nat. | 641 Variable z : nat. |
642 | 642 |
643 (** The variable [z] stands for an arbitrary key. We will reason about [z]'s presence in particular trees. As usual, outside the section the theorems we prove will quantify over all possible keys, giving us the facts we wanted. | 643 (** The variable [z] stands for an arbitrary key. We will reason about [z]'s presence in particular trees. As usual, outside the section the theorems we prove will quantify over all possible keys, giving us the facts we wanted. |
644 | 644 |
645 We start by proving the correctness of the balance operations. It is useful to define a custom tactic [present_balance] that encapsulates the reasoning common to the two proofs. We use the keyword %\index{Verncular commands!Ltac}%[Ltac] to assign a name to a proof script. This particular script just iterates between [crush] and identification of a tree that is being pattern-matched on and should be destructed. *) | 645 We start by proving the correctness of the balance operations. It is useful to define a custom tactic [present_balance] that encapsulates the reasoning common to the two proofs. We use the keyword %\index{Vernacular commands!Ltac}%[Ltac] to assign a name to a proof script. This particular script just iterates between [crush] and identification of a tree that is being pattern-matched on and should be destructed. *) |
646 | 646 |
647 Ltac present_balance := | 647 Ltac present_balance := |
648 crush; | 648 crush; |
649 repeat (match goal with | 649 repeat (match goal with |
650 | [ _ : context[match ?T with | 650 | [ _ : context[match ?T with |