0
Coq GC

  id:mzp




        2010-08-08 GC
    1
•        :

    • http://twitter.com/mzp
    • http://d.hatena.ne.jp/mzp/
•        :     SE

•                            ...
:
                    GC
•
•   :



•       :


                    2010(c) nari3
            3
4
2010(c) nari3
5
M&S

•
•
•


          6
Coq



7
Coq

•
•

    •

              8
Coq                          (1)

•

    • OCaml,Haskell,Scheme
•

                     9
Coq                      (2)
•
• Twitter        reply



• Coq       20




            10
•   GC

•   (Safety)[1]




             [1]Burdy Gemplus Avenue ,  L. Burdy “B vs. Coq to prove
             a Garbage Co...
•
      •

  •   “ ”


Record Mem   {A : Type} :=
 mkMem {
  nodes :    set A;
  roots :    set A;
  frees :    set A;
  n...
GC
 •
 •
                  :
                 (*                  m1 m2            *)
         Definition       MarkPhase ...
•
•
              Safety


Lemma MarkPhase_Safety:∀(m1 m2: Mem),
  MarkPhase m1 m2 -> (* m1        m2    *)
  Safety m1 ->...
•
•                       OCaml

    Definition mark_phase (m : Mem) : Mem :=
        mkMem A (nodes m) (roots m)(frees m)...
•
•

    Lemma mark_phase_correct: ∀ m1 m2,
      m2 = mark_phase m1 ->
      MarkPhase m1 m2.

          (   )


        ...
•   OCaml

•           OCaml

•   GC

     GC                  GC




                    17
...
•       Coq           - Coq

•   8/29 13:00                    @

•   http://atnd.org/events/6022




                ...
•

• Burdy Gemplus Avenue ,  L. Burdy “B vs.
    Coq to prove a Garbage Collector” 2001




                     19
Upcoming SlideShare
Loading in...5
×

Proove Mark&Sweep GC with Coq

1,228

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,228
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide



















  • Transcript of "Proove Mark&Sweep GC with Coq"

    1. 1. Coq GC id:mzp 2010-08-08 GC 1
    2. 2. • : • http://twitter.com/mzp • http://d.hatena.ne.jp/mzp/ • : SE • Coq 2
    3. 3. : GC • • : • : 2010(c) nari3 3
    4. 4. 4
    5. 5. 2010(c) nari3 5
    6. 6. M&S • • • 6
    7. 7. Coq 7
    8. 8. Coq • • • 8
    9. 9. Coq (1) • • OCaml,Haskell,Scheme • 9
    10. 10. Coq (2) • • Twitter reply • Coq 20 10
    11. 11. • GC • (Safety)[1] [1]Burdy Gemplus Avenue ,  L. Burdy “B vs. Coq to prove a Garbage Collector” 2001 11
    12. 12. • • • “ ” Record Mem {A : Type} := mkMem { nodes : set A; roots : set A; frees : set A; next : A -> option A; marker : A -> mark; }. 12
    13. 13. GC • • : (* m1 m2 *) Definition MarkPhase (m1 m2 : Mem) : Prop := roots m1 = roots m2 ∧ nodes m1 = nodes m2 ∧ frees m1 = frees m2 ∧ next m1 = next m2 ∧ Included (closuresM m2) (marksM Marked m2). (* ⊆ *) : ( ) 13
    14. 14. • • Safety Lemma MarkPhase_Safety:∀(m1 m2: Mem), MarkPhase m1 m2 -> (* m1 m2 *) Safety m1 -> (* m1 Safety *) Safety m2 ∧ MarksAll m2. (* m2 Safety *) Safety ( ) 14
    15. 15. • • OCaml Definition mark_phase (m : Mem) : Mem := mkMem A (nodes m) (roots m)(frees m) (fun x => if In_dec x (closuresM m) then Marked else Unmarked) (next m). ( ) 15
    16. 16. • • Lemma mark_phase_correct: ∀ m1 m2, m2 = mark_phase m1 -> MarkPhase m1 m2. ( ) 16
    17. 17. • OCaml • OCaml • GC GC GC 17
    18. 18. ... • Coq - Coq • 8/29 13:00 @ • http://atnd.org/events/6022 18
    19. 19. • • Burdy Gemplus Avenue ,  L. Burdy “B vs. Coq to prove a Garbage Collector” 2001 19
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×