ApCoCoA-1:SAT.FixBits: Difference between revisions

From ApCoCoAWiki
Stadler (talk | contribs)
Stadler (talk | contribs)
No edit summary
Line 1: Line 1:
<command>
<command>
     <title>SAT.FixBits</title>
     <title>SAT.FixBits</title>
     <short_description>Allows to fix chosen bits in advance within a SAT input file. The new input file is "sat_fixed.cnf".
     <short_description>Allows to fix chosen bits in advance within a SAT input file. The new input file is <quotes>sat_fixed.cnf</quotes>.
</short_description>
</short_description>
<syntax>
<syntax>
Line 8: Line 8:
     <description>
     <description>
<itemize>
<itemize>
<item>@param <em>BitList</em>: The indeterminates that should get fixed
<item>@param <em>BitList</em>: The indeterminates that should get fixed. Format: <tt>[[IndetIndex_1,Value_1],[IndetIndex_2,Value_2],...]</tt></item>  
 
Format: [[IndetIndex_1,Value_1],[IndetIndex_2,Value_2],...]
</item>  
<item>@param <em>File</em>: File in the SAT directory of the apcocoa folder</item>
<item>@param <em>File</em>: File in the SAT directory of the apcocoa folder</item>
</itemize>
</itemize>
Line 23: Line 20:
SPE:=[F1,F2,F3];  
SPE:=[F1,F2,F3];  
SAT.ConvertToCNF(SPE,4,0);
SAT.ConvertToCNF(SPE,4,0);
SAT.FixBits([[1,0],[2,1]],"sat.cnf"); -- fixes x[1]=0 and x[2]=1
SAT.FixBits([[1,0],[2,1]],<quotes>sat.cnf</quotes>); -- fixes x[1]=0 and x[2]=1
SAT.LaunchMiniSat("sat_fixed.cnf");
SAT.LaunchMiniSat(<quotes>sat_fixed.cnf</quotes>);
SAT.GetResult();
SAT.GetResult();
--Result: [0,1,0] Test with: Eval(SPE,[0,1,0]);
--Result: [0,1,0] Test with: Eval(SPE,[0,1,0]);
Line 36: Line 33:


     <key>SAT.FixBits</key>
     <key>SAT.FixBits</key>
    <key>sat.FixBits</key>
     <key>FixBits</key>
     <key>FixBits</key>
     <wiki-category>Package_sat</wiki-category>
     <wiki-category>Package_sat</wiki-category>
</command>
</command>

Revision as of 11:51, 15 October 2009

SAT.FixBits

Allows to fix chosen bits in advance within a SAT input file. The new input file is "sat_fixed.cnf".

Syntax

SAT.FixBits(BitList:LIST, File:STRING)

Description

  • @param BitList: The indeterminates that should get fixed. Format: [[IndetIndex_1,Value_1],[IndetIndex_2,Value_2],...]

  • @param File: File in the SAT directory of the apcocoa folder

Example

-- quadratic system:
Use R::=ZZ/(2)[x[1..3]];
F1:= x[1]x[2] + x[1]x[3] + x[2]x[3] + x[3];
F2:= x[2] + 1;
F3:= x[1]x[2] + x[3];
SPE:=[F1,F2,F3]; 
SAT.ConvertToCNF(SPE,4,0);
SAT.FixBits([[1,0],[2,1]],<quotes>sat.cnf</quotes>); -- fixes x[1]=0 and x[2]=1
SAT.LaunchMiniSat(<quotes>sat_fixed.cnf</quotes>);
SAT.GetResult();
--Result: [0,1,0] Test with: Eval(SPE,[0,1,0]);