package frama-c
Install
    
    dune-project
 Dependency
Authors
- 
  
    
    MMichele Alberti
 - 
  
    
    TThibaud Antignac
 - 
  
    
    GGergö Barany
 - 
  
    
    PPatrick Baudin
 - 
  
    
    NNicolas Bellec
 - 
  
    
    TThibaut Benjamin
 - 
  
    
    AAllan Blanchard
 - 
  
    
    LLionel Blatter
 - 
  
    
    FFrançois Bobot
 - 
  
    
    RRichard Bonichon
 - 
  
    
    VVincent Botbol
 - 
  
    
    QQuentin Bouillaguet
 - 
  
    
    DDavid Bühler
 - 
  
    
    ZZakaria Chihani
 - 
  
    
    LLoïc Correnson
 - 
  
    
    JJulien Crétin
 - 
  
    
    PPascal Cuoq
 - 
  
    
    ZZaynah Dargaye
 - 
  
    
    BBasile Desloges
 - 
  
    
    JJean-Christophe Filliâtre
 - 
  
    
    PPhilippe Herrmann
 - 
  
    
    MMaxime Jacquemin
 - 
  
    
    FFlorent Kirchner
 - 
  
    
    AAlexander Kogtenkov
 - 
  
    
    RRemi Lazarini
 - 
  
    
    TTristan Le Gall
 - 
  
    
    JJean-Christophe Léchenet
 - 
  
    
    MMatthieu Lemerre
 - 
  
    
    DDara Ly
 - 
  
    
    DDavid Maison
 - 
  
    
    CClaude Marché
 - 
  
    
    AAndré Maroneze
 - 
  
    
    TThibault Martin
 - 
  
    
    FFonenantsoa Maurica
 - 
  
    
    MMelody Méaulle
 - 
  
    
    BBenjamin Monate
 - 
  
    
    YYannick Moy
 - 
  
    
    PPierre Nigron
 - 
  
    
    AAnne Pacalet
 - 
  
    
    VValentin Perrelle
 - 
  
    
    GGuillaume Petiot
 - 
  
    
    DDario Pinto
 - 
  
    
    VVirgile Prevosto
 - 
  
    
    AArmand Puccetti
 - 
  
    
    FFélix Ridoux
 - 
  
    
    VVirgile Robles
 - 
  
    
    JJan Rochel
 - 
  
    
    MMuriel Roger
 - 
  
    
    JJulien Signoles
 - 
  
    
    NNicolas Stouls
 - 
  
    
    KKostyantyn Vorobyov
 - 
  
    
    BBoris Yakobowski
 
Maintainers
Sources
sha256=3ac8b38e0dab0e14d6ad0d244d8dfcfb17c912f661c77079096436f48377cf8a
    
    
  doc/frama-c-wp.core/Wp/Lang/index.html
Module Wp.LangSource
Low-Level Logic Terms and Predicates
Logic Language based on Qed
Library
Naming - Unique identifiers
Symbols
type adt = private | Mtype of mdt(*External type
*)| Mrecord of mdt * fields(*External record-type
*)| Atype of Frama_c_kernel.Cil_types.logic_type_info(*Logic Type
*)| Comp of Frama_c_kernel.Cil_types.compinfo * datakind(*C-code struct or union
*)
A type is never registered in a Definition.t
type lfun = private | ACSL of Frama_c_kernel.Cil_types.logic_info(*Registered in Definition.t, only
*)| CTOR of Frama_c_kernel.Cil_types.logic_ctor_info(*Not registered in Definition.t directly converted/printed
*)| FUN of lsymbol(*External or Generated logic symbol
*)
and lsymbol = {m_category : lfun Qed.Logic.category;m_params : Qed.Logic.sort list;m_result : Qed.Logic.sort;m_typeof : tau option list -> tau;m_source : source;m_coloring : bool;
}and source = | Generated of WpContext.context option * string| Extern of Qed.Engine.link extern
Must not be a builtin
val extern_s : 
  library:library ->
  ?link:Qed.Engine.link ->
  ?category:lfun Qed.Logic.category ->
  ?params:Qed.Logic.sort list ->
  ?sort:Qed.Logic.sort ->
  ?result:tau ->
  ?coloring:bool ->
  ?typecheck:(tau option list -> tau) ->
  string ->
  lfunval extern_f : 
  library:library ->
  ?link:Qed.Engine.link ->
  ?balance:balance ->
  ?category:lfun Qed.Logic.category ->
  ?params:Qed.Logic.sort list ->
  ?sort:Qed.Logic.sort ->
  ?result:tau ->
  ?coloring:bool ->
  ?typecheck:(tau option list -> tau) ->
  ('a, Format.formatter, unit, lfun) format4 ->
  'abalance just give a default when link is not specified
val extern_p : 
  library:library ->
  ?bool:string ->
  ?prop:string ->
  ?link:Qed.Engine.link ->
  ?params:Qed.Logic.sort list ->
  ?coloring:bool ->
  unit ->
  lfunval extern_fp : 
  library:library ->
  ?params:Qed.Logic.sort list ->
  ?link:string ->
  ?coloring:bool ->
  string ->
  lfunval generated_f : 
  ?context:bool ->
  ?category:lfun Qed.Logic.category ->
  ?params:Qed.Logic.sort list ->
  ?sort:Qed.Logic.sort ->
  ?result:tau ->
  ?coloring:bool ->
  ('a, Format.formatter, unit, lfun) format4 ->
  'aSorting and Typing
type of pointers
type of floats
polymorphism
definitions
LFuns are unique by name and context
Logic Formulae
Fresh Variables and Constraints
Substitutions
Simplifiers
iter_consequence_literals assume_from_litteral hypothesis applies the function assume_from_litteral on literals that are a consequence of the hypothesis (i.e. in the hypothesis not (A && (B || C) ==> D), only A and not D are considered as consequence literals).
For why3_api but circular dependency