equal
deleted
inserted
replaced
229 using fields Y' yx' px by blast |
229 using fields Y' yx' px by blast |
230 qed |
230 qed |
231 qed |
231 qed |
232 qed |
232 qed |
233 from dependent_choice [OF transr propr0 proprstep] |
233 from dependent_choice [OF transr propr0 proprstep] |
234 obtain g where pg: "!!n::nat. ?propr (g n)" |
234 obtain g where pg: "?propr (g n)" and rg: "n<m ==> (g n, g m) \<in> ?ramr" for n m :: nat |
235 and rg: "!!n m. n<m ==> (g n, g m) \<in> ?ramr" by blast |
235 by blast |
236 let ?gy = "fst o g" |
236 let ?gy = "fst o g" |
237 let ?gt = "snd o snd o g" |
237 let ?gt = "snd o snd o g" |
238 have rangeg: "\<exists>k. range ?gt \<subseteq> {..<k}" |
238 have rangeg: "\<exists>k. range ?gt \<subseteq> {..<k}" |
239 proof (intro exI subsetI) |
239 proof (intro exI subsetI) |
240 fix x |
240 fix x |