Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ascii_dec =
- fun a b : ascii =>
- let H :=
- ascii_rec (fun a0 : ascii => forall b0 : ascii, {a0 = b0} + {a0 <> b0})
- (fun (b0 b1 b2 b3 b4 b5 b6 b7 : bool) (b8 : ascii) =>
- match
- b8 as a0
- return
- ({Ascii b0 b1 b2 b3 b4 b5 b6 b7 = a0} +
- {Ascii b0 b1 b2 b3 b4 b5 b6 b7 <> a0})
- with
- | Ascii b9 b10 b11 b12 b13 b14 b15 b16 =>
- sumbool_rec
- (fun _ : {b0 = b9} + {b0 <> b9} =>
- {Ascii b0 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b0 b1 b2 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (fun a0 : b0 = b9 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b17 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b17 b1 b2 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (sumbool_rec
- (fun _ : {b1 = b10} + {b1 <> b10} =>
- {Ascii b9 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b1 b2 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (fun a1 : b1 = b10 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b9 b17 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b17 b2 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (sumbool_rec
- (fun _ : {b2 = b11} + {b2 <> b11} =>
- {Ascii b9 b10 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b2 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (fun a2 : b2 = b11 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b9 b10 b17 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b17 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (sumbool_rec
- (fun _ : {b3 = b12} + {b3 <> b12} =>
- {Ascii b9 b10 b11 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b11 b3 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (fun a3 : b3 = b12 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b9 b10 b11 b17 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b11 b17 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (sumbool_rec
- (fun _ : {b4 = b13} + {b4 <> b13} =>
- {Ascii b9 b10 b11 b12 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b11 b12 b4 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (fun a4 : b4 = b13 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b9 b10 b11 b12 b17 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16} +
- {Ascii b9 b10 b11 b12 b17 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15 b16})
- (sumbool_rec
- (fun _ : {b5 = b14} + {b5 <> b14} =>
- {Ascii b9 b10 b11 b12 b13 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15
- b16} +
- {Ascii b9 b10 b11 b12 b13 b5 b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14 b15
- b16})
- (fun a5 : b5 = b14 =>
- eq_rec_r
- (fun b17 : bool =>
- {Ascii b9 b10 b11 b12 b13 b17 b6
- b7 =
- Ascii b9 b10 b11 b12 b13 b14
- b15 b16} +
- {Ascii b9 b10 b11 b12 b13 b17 b6
- b7 <>
- Ascii b9 b10 b11 b12 b13 b14
- b15 b16})
- (sumbool_rec
- (fun
- _ : {b6 = b15} +
- {b6 <> b15} =>
- {Ascii b9 b10 b11 b12 b13 b14
- b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14
- b15 b16} +
- {Ascii b9 b10 b11 b12 b13 b14
- b6 b7 <>
- Ascii b9 b10 b11 b12 b13 b14
- b15 b16})
- (fun a6 : b6 = b15 =>
- eq_rec_r
- (fun b17 : bool =>
- {. = .} + {. <> .})
- (sumbool_rec
- (fun . => . + .)
- (fun . =>
- eq_rec_r . . a7)
- (fun . => right . .)
- (bool_dec b7 b16)) a6)
- (fun diseq : b6 <> b15 =>
- right
- (Ascii b9 b10 b11 b12 b13
- b14 b6 b7 =
- Ascii b9 b10 b11 b12 b13
- b14 b15 b16)
- (fun absurd : . = . =>
- diseq (. .)))
- (bool_dec b6 b15)) a5)
- (fun diseq : b5 <> b14 =>
- right
- (Ascii b9 b10 b11 b12 b13 b5 b6
- b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15
- b16)
- (fun
- absurd : Ascii b9 b10 b11 b12
- b13 b5 b6 b7 =
- Ascii b9 b10 b11 b12
- b13 b14 b15 b16 =>
- diseq
- (let H :=
- f_equal (fun . => .
- .
- end)
- absurd in
- (let H0 :=
- f_equal . absurd in
- (.) H0) H)))
- (bool_dec b5 b14)) a4)
- (fun diseq : b4 <> b13 =>
- right
- (Ascii b9 b10 b11 b12 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16)
- (fun
- absurd : Ascii b9 b10 b11 b12 b4 b5
- b6 b7 =
- Ascii b9 b10 b11 b12 b13
- b14 b15 b16 =>
- diseq
- (let H :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ b21 _ _ _ =>
- b21
- end) absurd in
- (let H0 :=
- f_equal
- (fun e : ascii =>
- match . with
- | Ascii _ _ _ _ _ b22 _ _ =>
- b22
- end) absurd in
- (let H1 :=
- f_equal (. => .) absurd in
- (let H2 := . in . => H5) H1) H0)
- H))) (bool_dec b4 b13)) a3)
- (fun diseq : b3 <> b12 =>
- right
- (Ascii b9 b10 b11 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16)
- (fun
- absurd : Ascii b9 b10 b11 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15
- b16 =>
- diseq
- (let H :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ b20 _ _ _ _ => b20
- end) absurd in
- (let H0 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ b21 _ _ _ => b21
- end) absurd in
- (let H1 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ b22 _ _ => b22
- end) absurd in
- (let H2 :=
- f_equal
- (fun e : ascii =>
- match . with
- | . b23
- end) absurd in
- (let H3 := f_equal (.) absurd in
- fun . . . . => H7) H2) H1) H0) H)))
- (bool_dec b3 b12)) a2)
- (fun diseq : b2 <> b11 =>
- right
- (Ascii b9 b10 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16)
- (fun
- absurd : Ascii b9 b10 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16 =>
- diseq
- (let H :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ b19 _ _ _ _ _ => b19
- end) absurd in
- (let H0 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ b20 _ _ _ _ => b20
- end) absurd in
- (let H1 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ b21 _ _ _ => b21
- end) absurd in
- (let H2 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ b22 _ _ => b22
- end) absurd in
- (let H3 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ _ b23 _ => b23
- end) absurd in
- (let H4 :=
- f_equal (fun . => .
- .
- end) absurd in
- fun (_ : b6 = b15) (_ : b5 = b14)
- (_ : b4 = b13) (_ : b3 = b12)
- (H9 : b2 = b11) => H9) H3) H2) H1) H0) H)))
- (bool_dec b2 b11)) a1)
- (fun diseq : b1 <> b10 =>
- right
- (Ascii b9 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16)
- (fun
- absurd : Ascii b9 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16 =>
- diseq
- (let H :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ b18 _ _ _ _ _ _ => b18
- end) absurd in
- (let H0 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ b19 _ _ _ _ _ => b19
- end) absurd in
- (let H1 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ b20 _ _ _ _ => b20
- end) absurd in
- (let H2 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ b21 _ _ _ => b21
- end) absurd in
- (let H3 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ b22 _ _ => b22
- end) absurd in
- (let H4 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ _ b23 _ => b23
- end) absurd in
- (let H5 :=
- f_equal
- (fun e : ascii =>
- match . with
- | Ascii _ _ _ _ _ _ _ b24 => b24
- end) absurd in
- fun (_ : b6 = b15) (_ : b5 = b14)
- (_ : b4 = b13) (_ : b3 = b12) (_ : b2 = b11)
- (H11 : b1 = b10) => H11) H4) H3) H2) H1) H0)
- H))) (bool_dec b1 b10)) a0)
- (fun diseq : b0 <> b9 =>
- right
- (Ascii b0 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16)
- (fun
- absurd : Ascii b0 b1 b2 b3 b4 b5 b6 b7 =
- Ascii b9 b10 b11 b12 b13 b14 b15 b16 =>
- diseq
- (let H :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii b17 _ _ _ _ _ _ _ => b17
- end) absurd in
- (let H0 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ b18 _ _ _ _ _ _ => b18
- end) absurd in
- (let H1 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ b19 _ _ _ _ _ => b19
- end) absurd in
- (let H2 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ b20 _ _ _ _ => b20
- end) absurd in
- (let H3 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ b21 _ _ _ => b21
- end) absurd in
- (let H4 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ b22 _ _ => b22
- end) absurd in
- (let H5 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ _ b23 _ => b23
- end) absurd in
- (let H6 :=
- f_equal
- (fun e : ascii =>
- match e with
- | Ascii _ _ _ _ _ _ _ b24 => b24
- end) absurd in
- fun (_ : b6 = b15) (_ : b5 = b14) (_ : b4 = b13)
- (_ : b3 = b12) (_ : b2 = b11) (_ : b1 = b10)
- (H13 : b0 = b9) => H13) H5) H4) H3) H2) H1) H0) H)))
- (bool_dec b0 b9)
- end) a in
- H b
- : forall a b : ascii, {a = b} + {a <> b}
- Argument scopes are [char_scope char_scope]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement