package frama-c
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Module Wp.AutoSource
Basic Strategies
It is always safe to apply strategies to any goal.
Source
val instance :
?priority:float ->
Tactical.selection ->
Tactical.selection list ->
Strategy.strategySource
val lemma :
?priority:float ->
?at:Tactical.selection ->
string ->
Tactical.selection list ->
Strategy.strategySource
val range :
?priority:float ->
Tactical.selection ->
vmin:int ->
vmax:int ->
Strategy.strategyRegistered Heuristics
Trusted Tactical Process
Tacticals with hand-written process are not safe. However, the combinators below are guarantied to be sound.
Find a contradiction.
Keep goal unchanged.
Apply a description to a leaf goal. Same as t_descr "..." t_id.
Apply a description to each sub-goal
Split with p and not p.
Prove condition p and use-it as a forward hypothesis.
Case analysis: t_case p a b applies process a under hypothesis p and process b under hypothesis not p.
Complete analysis: applies each process under its guard, and proves that all guards are complete.
Apply second process to every goal generated by the first one.
Source
val t_range :
Lang.F.term ->
int ->
int ->
upper:Tactical.process ->
lower:Tactical.process ->
range:Tactical.process ->
Tactical.processSource
val t_replace :
?equal:string ->
src:Lang.F.term ->
tgt:Lang.F.term ->
Tactical.process ->
Tactical.processProve src=tgt then replace src by tgt.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page