Guest User

Untitled

a guest
Feb 21st, 2014
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. Require Import Recdef.
  2.  
  3. Inductive formula :=
  4. | atom : formula
  5. | conn : formula -> formula -> formula.
  6.  
  7. Fixpoint complexity P : nat := match P with
  8. | atom => 0
  9. | conn P Q => Peano.max (complexity P) (complexity Q) + 1
  10. end.
  11.  
  12. (* the following definition is OK: *)
  13. Function truth P {measure complexity P} : Prop := match P with
  14. | atom => True
  15. | conn P Q => truth P /\ truth Q
  16. end.
  17. Admitted.
  18.  
  19. (* the following definition gives the following output:
  20.  
  21. failure in proveterminate
  22.  
  23. Error: Found a product. Can not treat such a term
  24. *)
  25. Function truth' P {measure complexity P} : Prop := match P with
  26. | atom => True
  27. | conn P Q => truth' P -> truth' Q
  28. end.
Advertisement
Add Comment
Please, Sign In to add comment