equal
deleted
inserted
replaced
478 declare refl [THEN update_idem, simp] |
478 declare refl [THEN update_idem, simp] |
479 |
479 |
480 lemma domain_update [simp]: "domain(f(x:=y)) = cons(x, domain(f))" |
480 lemma domain_update [simp]: "domain(f(x:=y)) = cons(x, domain(f))" |
481 by (unfold update_def, simp) |
481 by (unfold update_def, simp) |
482 |
482 |
483 lemma update_type: "[| f: A -> B; x : A; y: B |] ==> f(x:=y) : A -> B" |
483 lemma update_type: "[| f:Pi(A,B); x : A; y: B(x) |] ==> f(x:=y) : Pi(A, B)" |
484 apply (unfold update_def) |
484 apply (unfold update_def) |
485 apply (simp add: domain_of_fun cons_absorb apply_funtype lam_type) |
485 apply (simp add: domain_of_fun cons_absorb apply_funtype lam_type) |
486 done |
486 done |
487 |
487 |
488 |
488 |