# HG changeset patch # User Christian Urban # Date 1263986418 -3600 # Node ID 82cdc3755c2c30a04401d74f9cd98256f1a3ebc5 # Parent 28e084a66c7fe72f718aa412ed63eb2e789e8a3b proved that the function is a function diff -r 28e084a66c7f -r 82cdc3755c2c Quot/Examples/LamEx.thy --- a/Quot/Examples/LamEx.thy Wed Jan 20 11:30:32 2010 +0100 +++ b/Quot/Examples/LamEx.thy Wed Jan 20 12:20:18 2010 +0100 @@ -483,16 +483,32 @@ sorry function - term1_hom :: "(name \ 'a) \ (rlam \ rlam \ 'a \ 'a \ 'a) \ ((name \ rlam) \ (name \ 'a) \ 'a) \ rlam \ 'a" + term1_hom :: "(name \ 'a) \ + (rlam \ rlam \ 'a \ 'a \ 'a) \ + ((name \ rlam) \ (name \ 'a) \ 'a) \ rlam \ 'a" where "term1_hom var app abs' (rVar x) = (var x)" | "term1_hom var app abs' (rApp t u) = app t u (term1_hom var app abs' t) (term1_hom var app abs' u)" | "term1_hom var app abs' (rLam x u) = abs' (\y. [(x, y)] \ u) (\y. term1_hom var app abs' ([(x, y)] \ u))" -sorry +apply(pat_completeness) +apply(auto) +done -print_theorems +lemma pi_size: + fixes pi::"name prm" + and t::"rlam" + shows "size (pi \ t) = size t" +apply(induct t) +apply(auto) +done + +termination term1_hom + apply - + apply(relation "measure (\(f1, f2, f3, t). size t)") +apply(auto simp add: pi_size) +done lemma hom_res: " \f_var. \f_app \ Respects(alpha ===> alpha ===> op =).