How to write correct code by construction using the Coq Proof Assistant
I can't tell if this is pseudocode or what proof in coq usually looks like:<p>Theorem NestedTreeContains1:<p><pre><code>  forall (t: tree),
    t = Node example 2 (Node Nil 3 Nil) 

  -> 

    contains 1 t = true.
</code></pre>
Proof.<p>nail.<p>wreck t.<p>- wat.<p>- wreck H into Ht1, Hv and Ht2.<p><pre><code>  sub Hv.
  evaluate.
  sub Ht1.
  just ExampleTreeContains1.
</code></pre>
Qed.<p>Theorem, forall, qed look fairly likely. Are there built-in operations in coq called 'wat' and 'wreck'?