equal
deleted
inserted
replaced
95 proof - |
95 proof - |
96 interpret ep_pair e p by fact |
96 interpret ep_pair e p by fact |
97 obtain Y where Y: "\<forall>i. Y i \<sqsubseteq> Y (Suc i)" |
97 obtain Y where Y: "\<forall>i. Y i \<sqsubseteq> Y (Suc i)" |
98 and t: "t = (\<Squnion>i. defl_principal (Y i))" |
98 and t: "t = (\<Squnion>i. defl_principal (Y i))" |
99 by (rule defl.obtain_principal_chain) |
99 by (rule defl.obtain_principal_chain) |
100 def approx \<equiv> "\<lambda>i. (p oo cast\<cdot>(defl_principal (Y i)) oo e) :: 'a \<rightarrow> 'a" |
100 define approx where "approx i = (p oo cast\<cdot>(defl_principal (Y i)) oo e)" for i |
101 have "approx_chain approx" |
101 have "approx_chain approx" |
102 proof (rule approx_chain.intro) |
102 proof (rule approx_chain.intro) |
103 show "chain (\<lambda>i. approx i)" |
103 show "chain (\<lambda>i. approx i)" |
104 unfolding approx_def by (simp add: Y) |
104 unfolding approx_def by (simp add: Y) |
105 show "(\<Squnion>i. approx i) = ID" |
105 show "(\<Squnion>i. approx i) = ID" |