comparison src/zorn.agda @ 887:09915b6b4212

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 03 Oct 2022 01:43:00 +0900
parents 7c4b65fcba97
children 49e0ab5e30e0
comparison
equal deleted inserted replaced
886:7c4b65fcba97 887:09915b6b4212
1040 u ≡⟨ b ⟩ 1040 u ≡⟨ b ⟩
1041 px ∎ where open ≡-Reasoning 1041 px ∎ where open ≡-Reasoning
1042 zc17 : {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 px → 1042 zc17 : {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 px →
1043 FClosure A f (supf1 s) z1 → (z1 ≡ supf1 px) ∨ (z1 << supf1 px) 1043 FClosure A f (supf1 s) z1 → (z1 ≡ supf1 px) ∨ (z1 << supf1 px)
1044 zc17 {s} {z1} ss<spx fc = subst (λ k → (z1 ≡ k) ∨ (z1 << k)) (trans (cong supf0 b) (sym (sf1=sf0 o≤-refl))) 1044 zc17 {s} {z1} ss<spx fc = subst (λ k → (z1 ≡ k) ∨ (z1 << k)) (trans (cong supf0 b) (sym (sf1=sf0 o≤-refl)))
1045 ( ChainP.order is-sup (subst₂ (λ j k → j o< k) (sf1=sf0 s≤px) ? ss<spx) (fcup fc s≤px) ) where 1045 ( ChainP.order is-sup (subst₂ (λ j k → j o< k) (sf1=sf0 s≤px) zc19 ss<spx) (fcup fc s≤px) ) where
1046 zc19 : supf1 px ≡ supf0 u
1047 zc19 = trans (sf1=sf0 o≤-refl) (cong supf0 (sym b))
1046 s≤px : s o≤ px 1048 s≤px : s o≤ px
1047 s≤px = ? 1049 s≤px = o<→≤ (supf-inject0 supf-mono1 ss<spx)
1048 ... | tri> ¬a ¬b c | _ = ⊥-elim ( ¬p<x<op ⟪ c , (ordtrans u<x <-osuc ) ⟫ ) 1050 ... | tri> ¬a ¬b c | _ = ⊥-elim ( ¬p<x<op ⟪ c , (ordtrans u<x <-osuc ) ⟫ )
1049 zc12 {z} (case2 fc) = zc21 fc where 1051 zc12 {z} (case2 fc) = zc21 fc where
1050 zc21 : {z1 : Ordinal } → FClosure A f px z1 → odef (UnionCF A f mf ay supf1 x) z1 1052 zc21 : {z1 : Ordinal } → FClosure A f px z1 → odef (UnionCF A f mf ay supf1 x) z1
1051 zc21 {z1} (fsuc z2 fc ) with zc21 fc 1053 zc21 {z1} (fsuc z2 fc ) with zc21 fc
1052 ... | ⟪ ua1 , ch-init fc₁ ⟫ = ⟪ proj2 ( mf _ ua1) , ch-init (fsuc _ fc₁) ⟫ 1054 ... | ⟪ ua1 , ch-init fc₁ ⟫ = ⟪ proj2 ( mf _ ua1) , ch-init (fsuc _ fc₁) ⟫
1059 zc14 = init (subst (λ k → odef A k) (sym zc15) asp) zc15 1061 zc14 = init (subst (λ k → odef A k) (sym zc15) asp) zc15
1060 zc13 : {z : Ordinal } → FClosure A f y z → (z ≡ supf1 px ) ∨ ( z << supf1 px ) 1062 zc13 : {z : Ordinal } → FClosure A f y z → (z ≡ supf1 px ) ∨ ( z << supf1 px )
1061 zc13 {z} fc = subst (λ k → (z ≡ k) ∨ ( z << k )) (sym (sf1=sf0 o≤-refl)) ( ZChain.fcy<sup zc o≤-refl fc ) 1063 zc13 {z} fc = subst (λ k → (z ≡ k) ∨ ( z << k )) (sym (sf1=sf0 o≤-refl)) ( ZChain.fcy<sup zc o≤-refl fc )
1062 zc17 : {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 px → 1064 zc17 : {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 px →
1063 FClosure A f (supf1 s) z1 → (z1 ≡ supf1 px) ∨ (z1 << supf1 px) 1065 FClosure A f (supf1 s) z1 → (z1 ≡ supf1 px) ∨ (z1 << supf1 px)
1064 zc17 {s} {z1} ss<spx fc = ? 1066 zc17 {s} {z1} ss<spx fc = subst (λ k → (z1 ≡ k) ∨ (z1 << k )) mins-is-spx
1067 (MinSUP.x<sup mins (csupf17 (fcup fc (o<→≤ s<px) )) ) where
1068 mins : MinSUP A (UnionCF A f mf ay supf0 px)
1069 mins = ZChain.minsup zc o≤-refl
1070 mins-is-spx : MinSUP.sup mins ≡ supf1 px
1071 mins-is-spx = trans (sym ( ZChain.supf-is-minsup zc o≤-refl ) ) (sym (sf1=sf0 o≤-refl ))
1072 s<px : s o< px
1073 s<px = supf-inject0 supf-mono1 ss<spx
1074 sf<px : supf0 s o< px
1075 sf<px = subst₂ (λ j k → j o< k ) (sf1=sf0 (o<→≤ s<px)) (trans (sf1=sf0 o≤-refl) (sym sfpx=px)) ss<spx
1076 -- (sf1=sf0 ?) (trans ? sfpx=px ) ss<spx
1077 csupf17 : {z1 : Ordinal } → FClosure A f (supf0 s) z1 → odef (UnionCF A f mf ay supf0 px) z1
1078 csupf17 (init as refl ) = ZChain.csupf zc sf<px
1079 csupf17 (fsuc x fc) = ZChain.f-next zc (csupf17 fc)
1080
1065 1081
1066 record STMP {z : Ordinal} (z≤x : z o≤ x ) : Set (Level.suc n) where 1082 record STMP {z : Ordinal} (z≤x : z o≤ x ) : Set (Level.suc n) where
1067 field 1083 field
1068 tsup : MinSUP A (UnionCF A f mf ay supf1 z) 1084 tsup : MinSUP A (UnionCF A f mf ay supf1 z)
1069 tsup=sup : supf1 z ≡ MinSUP.sup tsup 1085 tsup=sup : supf1 z ≡ MinSUP.sup tsup
1078 m = ZChain.minsup zc (o≤-refl0 b) 1094 m = ZChain.minsup zc (o≤-refl0 b)
1079 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.asm sup1 1095 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.asm sup1
1080 ; x<sup = ? ; minsup = ? } ; tsup=sup = ? } 1096 ; x<sup = ? ; minsup = ? } ; tsup=sup = ? }
1081 1097
1082 1098
1083 csupf1 : {b : Ordinal } → supf1 b o< x → odef (UnionCF A f mf ay supf1 x) (supf1 b) 1099 csupf1 : {z1 : Ordinal } → supf1 z1 o< x → odef (UnionCF A f mf ay supf1 x) (supf1 z1)
1084 csupf1 {b} sb<z = ⟪ asb , ch-is-sup (supf1 b) sb<z 1100 csupf1 {z1} sz1<x with trio< (supf0 z1) px
1085 record { fcy<sup = ? ; order = order ; supu=u = ? } 1101 ... | tri< a ¬b ¬c = subst₂ (λ j k → odef j k ) (sym ch1x=pchainpx) (sym (sf1=sf0 z1≤px)) (case1 (ZChain.csupf zc a )) where
1086 (init ? ? ) ⟫ where 1102 z1≤px : z1 o≤ px
1087 b<x : b o< x 1103 z1≤px = o<→≤ ( ZChain.supf-inject zc (subst (λ k → supf0 z1 o< k ) sfpx=px a ))
1088 b<x = ZChain.supf-inject zc ? 1104 ... | tri≈ ¬a b ¬c = subst₂ (λ j k → odef j k ) (sym ch1x=pchainpx) zc20 (case2 (init apx sfpx=px )) where
1089 asb : odef A (supf1 b) 1105 z1≤px : z1 o≤ px
1090 asb = ? -- ZChain.supf∈A zc ? -- (o<→≤ b<x) 1106 z1≤px with trio< z1 px
1091 supb : SUP A (UnionCF A f mf ay supf1 (supf1 b)) 1107 ... | tri< a ¬b ¬c = o<→≤ a
1092 supb = ? -- ZChain.sup zc (o<→≤ sb<z) 1108 ... | tri≈ ¬a b ¬c = o≤-refl0 b
1093 supb-is-b : supf1 (supf1 b) ≡ & (SUP.sup supb) 1109 ... | tri> ¬a ¬b c = ⊥-elim ( o<> c ( supf-inject0 supf-mono1 (subst (λ k → supf1 z1 o< k ) refl ?) ) )
1094 supb-is-b = ? -- ZChain.supf-is-sup zc ? -- (o<→≤ sb<z) 1110 zc20 : supf0 px ≡ supf1 z1
1095 order : {s z1 : Ordinal} → supf1 s o< supf1 (supf1 b) → 1111 zc20 = begin
1096 FClosure A f (supf1 s) z1 → (z1 ≡ supf1 (supf1 b)) ∨ (z1 << supf1 (supf1 b)) 1112 supf0 px ≡⟨ ? ⟩
1097 order {s} {z1} ss<ssb fs with SUP.x<sup supb ? 1113 px ≡⟨ ? ⟩
1098 ... | case1 eq = ? 1114 supf0 z1 ≡⟨ ? ⟩
1099 ... | case2 lt = ? 1115 supf1 z1 ∎ where open ≡-Reasoning
1116 ... | tri> ¬a ¬b c = ⊥-elim ( ? )
1100 1117
1101 ... | case2 px<spfx = ? where 1118 ... | case2 px<spfx = ? where
1102 1119
1103 -- case2 : px o< supf px 1120 -- case2 : px o< supf px
1104 -- supf px is not MinSUP of previous chain , supf x ≡ supf px 1121 -- supf px is not MinSUP of previous chain , supf x ≡ supf px