HAL Id: inria-00564633
https://hal.inria.fr/inria-00564633
Submitted on 9 Feb 2011
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Extracting a Data Flow Analyser in Constructive Logic
David Cachera, Thomas Jensen, David Pichardie, Vlad Rusu
To cite this version:
David Cachera, Thomas Jensen, David Pichardie, Vlad Rusu. Extracting a Data Flow Analyser in
Constructive Logic. ESOP, 2004, Barcelona, Spain. �inria-00564633�
! "#$% &'%'(! ) !' *+ ,-%-.
/ 01023 4562 789:8; < =>?@8A;?B
C 010234 7612D
E 01023 406103D78FGHIJ? =?8HKL?HDMNOPQ1?;;?I9?J?RDS >8;9?
TUVWXYZW[ \
?I:]^ :]^ @]_]>F8KLI? 89];I@>8L;@`a8I?J J8@8b]^ 8;8K`
c
ILIL;@:?IG?9Ld98@L];K8;AH8A?]_@:?efgG>]]_8IILI@8;@hi:LIL;j]Kj?I
J?d;L;A 8 J?G?;J?;@ @
c
G? ]_ K8@@L9?I @]A?@:?> ^L@: 8 KLa>8>
c
]_ K8@@L9?
_H;9@]>I _]> F]JHK8> 9];I@>H9@L]; ]_ 9]FGK?R 8aI@>89@ J]F8L;Ih 7];`
I@>8L;@I 8>? ?RG>?II?J L; 8; L;@?>F?JL8@? >?G>?I?;@8@L]; @:8@ 8KK]^I _]>
a]@: ?k9L?;@9];I@>8L;@>?I]KH@L]; 8;J 9]>>?9@;?IIG>]]_ ]_ @:?8;8K
c ILI
^L@: >?IG?9@@]8; ]G?>8@L];8KI?F8;@L9Ihi:?G>]]_]_?RLI@?;9?]_89]>`
>?9@DFL;LF8KI]KH@L];@]@:?9];I@>8L;@ILI9];I@>H9@Lj?^:L9:F?8;I@:8@
@:? ?R@>89@L]; F?9:8;LIF ]_ efg G>]jLJ?I 8 G>]j8aK
c
9]>>?9@ J8@8b]^
8;8K
c
I?> L; lmnophi:? KLa>8>
c
]_ K8@@L9?I@]A?@:?> ^L@: @:? L;@?>F?JL`
8@? >?G>?I?;@8@L]; ]_ 9];I@>8L;@I 8>? J?d;?J L; 8; 8;8K
c
ILI`L;J?G?;J?;@
_8I:L]; @:8@ G>]jLJ?I 8 a8ILI _]> 8 A?;?>L9 _>8F?^]>q _]> G>]jL;A 8;J
?R@>89@L;A I@8@L9 8;8K
c
I?>IL; efgh
r stuvwxyzu{wt
|}} ~#$ '+%% % -++ -}#$} }'- # ~#' ~#~}%
#-} } -'}$ #- # ~#$ }#-} }-++ -}' } "
#}'%%# %}}'+%%' ~# #$++ #++# ' } }# #
%}} '}~}}#' }} ~#% }# # +}' } # %$'}
'}~}}#'% # } %$ +'- "% %}#' %$'} #-'}#'% #'
%}}-} #' # } -$'}% ' ' # # %}} ~#$ '+%% "
$~+$'}}#'#%}}'+%%%-%-++%#' ++-'%}###'%}'}
%#+' }'-% ' }} ~#'} +#}$%
' %~} # } ' $}$}+ }# # ~#$ '+%% ' } %#+
+#}$}'-% ++#'~#+$}%%-~%%}%! !}
} '}'+%%}} %~##}#'~~'}'+%}}}-++
-'%#'}$'+}%~$}%$++#}#+'-%!}#$%
$~#}'} '}#$%}#+++'-%# }$~+$'}}#''
$ '}'
' # ~#$ '+%% }##
+% #$
%#}
'''
}%
"#
+$' } }
% ~! ~#~#% }'
- % #'
}#$
~#' '
#
'%}-}
+#' }
~#$%~##%~$! ++# %
}#
%~
%}}
'+%% ' }}
'%-%
}
¡¡ '
+}}% } ¢¢£ ¡¡
!
}# }} %}} '+%#$ } ~###%}' # #}~#$
-'+'}~##%%%}'} "%#$+%$ #%%}#'}~%%}$#
~%%'#}'%%#%~}#'%!}#} } $'%$ ##$~+'
} %~}#'% '}# } ~#$$' +'- # ~%+!
# } #++# ' #'}-}#'%
%# # }#
' + #
%}}
#$'% # ~#~
}%
-%
' }
'+%% ' ' %#'
|}#
'
"
%}}
#$'%
+}}%%}%''}%'''%#'}#' $%}~#%%+
}# }} ~#+ #}! ' #'%}'} %#+ % #' ~#'}
}}#'
%# # }# ~%'}#'%}'}%'+%%' #'%}-}$'
' |}#'}}++# %}}%$}$}#~##}'%%#}'+
%% |}#' ' }#}}''+%#$ }~###}%}'#
%} %#+-}#' }# } #'%}'}%!-%' }~#$ }}#' $'%$
++'
|}#
'
#%'
}#
+#~ }%
~~# ' }
#
'}%}}
' # # '+
%%#&
}
#!
~%'}
'
|}#'
"$
#}}#'
# ##%'
}
% ~ }
-+ '+%% % }} }
+%
}
$'$
+%}! } ~%'}}
+'- }
$
~}
!#
}#'}
' #
}-%
!- '}
' }} } ~~# % }'%+ }# } # #} '+%% |}#'
#$~% } #} # #' #$+' } #}'%% # } # '+%%!
' |}#' #'+-% " %#-% # } +#~$'} ++ }
!" #$%& $%' (%"')*
+
££
, -- '}#
'% #% }~
~'% #' }
~#$ ' '+% ++
~''} }~ . / )#$ 0 1/ } }~ 1 ~'' #' /
++ } .2 #} ~~+}#'#. }# ~}-+~#$ /"~~
-%%$}-#+#' '#}}#'# -}# %~%}}#'%
''#}# -++ '}#-}#'
3 4 5u6u{z 4t6789{9 :wv ;6v<=7
"'+%% %% % %% # #- # % }
# '+%% #
}
$+ '}$
} ~%'}}#
' # &
}
#
>? %~
-%'
}
-+# @##$+%$ A'>'~## }
#'~~ }
%~
}
}# ' #~}#'+ %$'}% |> " +'- % } # # %}
#'} $'!$- +}& } #'%}-}#'%'+-%}
#~}#'%! '-$ #~}#'%! #'}#'+%! #} }#' ' $#}#'!
' $}#'#}#''}-'}%' %$++%}~#~}#'+ %$'}%
} %}} # } #$ BBCDBEDFGDHDIJ¡JJ! C % } ~ # #}%!
' BEDFGDHDIJ ¡ % ++ %} #'%%}' #¡ # } #$ BEDFGDHDIJ
$ #'}'% $}# '$ E ' ~#$ ~#'} FG }'
E! %} # +#+ +%H ' +#+ #~' %} I % |> # }+%
%$~+}-+%'' }'%}-}#'%
#~-%' +-#'}#
} #~' %}! ' #)% "# ++' }-+ $}#
"-+?%%#++# %
}'%}-}
#'
G }
%%EDFG#
%}}
BBCDBEDFGDHDIJ
¡
JJ% }
}
#~-%'G #' }
#~'
%}
I#
' ''
}# } '%}-}
#' }
FG
?
L;I@>H9@L];3@2
EDFG
G
BB CDB EDFGDHDIJ¡JJ 0 BB CDBEDFG?DHDG IJ ¡JJ
?
L;I@>H9@L];3@2
EDFG
#)% "
E
$}#@##-~DC HG
BEDFGDHDHG IJ
BED?DDJ
BEDFGDHDIJ
BB CD ¡JJ0 BB CD ¡JJ
"-+%%+}+$##$~+}}%# $}#'$!}
'%}-}#' #)
%
"}%%EDFG#%}}
BBCD ¡JJ$
#'+ #-}%}$ #' } ++ %} #
% ' #~' %} #}
#$ HG I!! } %}}% }
¢£ '#} ¢!#++#
}##+-% "}-+ $}#}} ++ ++ %}# #-''}
#}}}%%'}~C }}%%CHG!'}}-+~$}%
#}}$}##'}''}}#"'!}$}#@##-~-'}#'
%%} +%%# }$}# '$ '}} #}!' }-'%
}
}-
+ $ }#
}#
} #'}#
+ ++ }'
%
" ' $}#! }#} } }% %}}' ~#'} FG
?! }% }# #
}-+ ~$}%! ' ' $~} #~' %} ! #'%}}-} ' $
~-% #' }#~ # } ++ %} # } %-+}' %}}
BB CD ¡JJ
#}! # !}} } %#' $ ' } ++ %} } } }-+ $}#
'#}#'%'#} '$#!-} ' $ } '}#~'%}
"%% -%}
# )%
"'%}-}#' % ¡ ¢£}+#}#' ¢
'
} }#
# }-
+ ~$ }%
$# #$
-+
#
"% } '}} # % } }-++ ~~'% ' } &
+'- } $ # } $#%} ++'' ~} # } ~## # #}'%% #
} '+%% } %~}}# } %$'}% }-'}# }% ~#'}' |}#'
"'+%%%'# %
!"# $%&'() *)+, -+./0
" $+ -+# @# ' A'%' A'> %~% #
'%}'}
%
} # '+%% # $+ "% '+%% #$~-}% % ~~#$}#' #
}%}}%}}'#-}'~#$ ~#'}-'-}#'#}~#$
" 1¡£¢£ ¡££ #$'
[
|}}2!'
[
|}}2
A
[
~2 2 3$}#$2 2~##-'}2 0 @#\
+*242 3$
}#
$2
2
~#
#-'}
2
0
\
|}24#~~#$}#'#}+-# +#+ +' # }#~' %}
"%}}#$'% -} % ' |}#'
"%~ }
#' # }
+##'%
%}%
#
%}
#''-+%
}}
#
$+ '%}-}#' '% #'%}'} # ' %}} %}}
[
|}} '
# #
3
D
D
4 }# #} %}}#' # ~#$ /! $-%}
%}% } #'%}'}% $~#% ++ } '%}-}#'% # / -# $~+!
'%}-}#' % ~%'} } %% EDFG! } #++# ' #'%}'}% %#-+
%}%
[
~-%
3 GD
EDFG4
EDFG ?
EDFG
EDFG?
~-%
[
%}%}}¡ #~}#' #$ } %}} #$' #%}%#}'%% # } # +# % ~# '' +}#' } '
#'} #$'% # } #~}#'+ %$'}% ' } %}} #$'% "
'}#
'# }
+}#
' % '- }
#
}%}-}-
#
}
#$'
- }#
+#%~ # '#
}
#$+ '}#
'# }
% +}#
' % A'>
#
}
+%
" $~
#}'}
~#~
}
# }
~~#$
}#'
+ }#'
% }
£ ¢£ £ ¡
¢£ £ £ 1¡£¢£ } %%}}!##'}
+- } ~! %}!# }##+#++%' %}} +-%
D
'
}
#%~#''
%}}
#$'!
'
}'
#+% % ++
"% ~#~
}
% ~# '
#' ' # ++ # #' }
' #%~#''
%}}
#$' +-%
"+ }#
' %-%
}'%+
'
|}#' %# # }# ~##}'%% # } '+%% '
;wt9uvyzu{t 69uv6zu xw<6{t9
'}%%}#' '}}~ "
&%
~$}%}}~#}
$'~-+
}
' }
+ }}
!' #'
%}-}
# - '}
#'% ~#-
+}}
#
}
#$
#} +}}
#
}%
"%++# % }#
#
'%}-}}
%}}
#$'% #+#++%!
%}
%!£¢' #$~
#%}#
'+%#'
%}}'
#$
#++}#'#%%}}#$'%"% $#-+}'-##$'' '
-+' +}}%%}'}}} #'#}}#~#~#~}% %-
% } '} %'' ' #'}#'!%+# # #'!'+ +}}! -}
' # %# ' $#-+ %#'# }~# +}} -%- -}$#!+#+
'% ' } +}} %}-}- # '#} '+}} #++ ~##
+}}#}% %}-}- }} #$+%#+% }-'}#'++%
#}%-% ' }}} #! ' } +#++% }}
#'}' ~#~}% #-} } +}} ! } + )
#
% -'}#'+ +
}} #'}'% } +%} -~~ #-' #~}# # } +}}! % } +
&&
)
%
% +#+ + %}}' }} } +}} %}%% } %''
' #'}#''+}-'}#'++% ++ ~~ ' } ##}
#'%}-} '+%!-} } ~#~}%' } +#+ +% -% }# %#+