¡Ú´×ÏÃ:SAL¤Ë¤è¤ë¥á¥¿µ­½Ò¡Û

ÉÔ´°Á´À­ÄêÍý¤Ï¡¢¹½ÃÛ¤·¤Æ¤­¤¿µ­¹æÎó¤Î´ö¤Ä¤«¤Èɽ¸½ÄêÍý¤ò¡¢
½Ò¸ìÏÀÍý¤Çµö¤µ¤ì¤ëÏÀÍý¼°¤Î¼°ÊÑ·Á¤Ë¤è¤ê¡¢¾ÚÌÀ¤µ¤ì¤Þ¤¹¡£
¤³¤ÎºÝ¤Ë¡¢¤µ¤é¤Ë³µÇ°¤ÎÀâÌÀ¤«¤éÏÀÍý¼°¤òƳ¤¯»ö¤â¤¢¤ê¤Þ¤¹¡£

GAL¤Ë¤è¤ë¤³¤Î³µÇ°¤ÎÀâÌÀ¤Îµ­½Ò¤Ï¼°ÊÑ·Á¤È¤·¤Æ¤Î¡¢
¥á¥¿µ­½Ò¤Î¥ë¡¼¥ë¤òƳ½Ð¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤ÎºÝ¡¢Ä̾ï¤ÎGAL¤ÏSAL¤È¤·¤Æ¡¢(º£²ó¤Ë¤¢¤¿¤ê)³ÈÄ¥¤µ¤ì¤¿É½µ­¤ò
ÍѤ¤¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£

¤Ê¤é¤ÐÎã¤È¤·¤Æ¡¢°Ê²¼¤Îµ­¹æ¤«¤é°Ê²¼¤ÎÀâÌÀ¤ò¼¨¤¹¥á¥¿µ­½Ò¤Ë¤Ä¤¤¤Æ¡¢
¹Í¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£
    Sgn :Q(x,y)¢ÎDF:¢ÌxPrv(<y>¢ª(y.\y1))
    Xpln:Q(x,y)¢á[x¡â(<y>¢ª(y.\y1))."FmtvPrf"]Prdct
¤³¤¦¤·¤Æ¡¢¾åµ­¤ò¸«Èæ¤Ù¤Þ¤¹¤È¡¢¤¤¤«¤Ë¤âñ½ã¤ÊÊÑ·Á¤Ë¤è¤ê¡¢
µ­¹æ¤«¤é¤½¤Î³µÇ°¤Î²ò¼á¤È¤·¤Æ¤ÎÀâÌÀ¤¬Æ³½Ð¤µ¤ì¤Þ¤¹¡£
°Ê²¼¤¬¤½¤Î¼ê½ç(¥ë¡¼¥ë)¤À¤È¤·¤Þ¤¹¡£
­¡Êѹ೵ǰ¤òÀÚ¤ê½Ð¤¹¡£
­¢ÀÚ¤ê½Ð¤µ¤ì¤¿Êѹ೵ǰ¤òÊ̤ε­¹æ¤ËÃÖ´¹¤·¡¢ºÆ¤Ó³ºÅö¤ÎÊѹ೵ǰ¤È¤¹¤ë¡£
­£Êѹ೵ǰ¤Î½Ð¸½½ç¤òÆþ¤ìÂØ¤¨¤ë¡£
­¤ÆþÎϳµÇ°¤ò°ìÈ̲½¤¹¤ë¡£
­¥ÃÖ´¹·²¤òƳ½Ð¤¹¤ë¡£
SAL¤Ë¤ª¤¤¤Æ¡¢¾åµ­¤ò¦ËÀ¤³¦É½µ­¤Î³ÈÄ¥¤È¤·¤Æµ­½Ò¤·¤Þ¤¹¡£
¤½¤ÎºÝ¤Î³ÈÄ¥µ­½Ò¤Ï°Ê²¼¤Îµ­¹æ¤Ç¤¹¡£
¡¦(Sgn¢ªXpln)
¡¦2¤ÄÌܤΎ¢@Ž£¸½¶·µ­¹æ
¡¦·¿µ­¹æŽ¢IN:Ž£
¡¦<<>>ɽµ­
¡¦·¿µ­¹æŽ¢OT:Ž£
¤Ç¤Ï¡¢¾åµ­Îã¤Ø¡¢¶ñÂÎŪ¤Ë­¡¡Á­¤¤Î¼ê½ç¤òŬÍѤ·¤Æ¸«¤Þ¤¹¡£
@(Sgn¢ªXpln)¦ËPRV@¢¿
    IN:#1<<Q(x,y)>>¢ÎDF:#2<<¢Ì>>#3<<x>>#4<<Prv>>#5<<(<y>¢ª(y.\y1))>>
       (#2="")  ¢Ísub(#2¢ªŽ¢= Ž£)==#2
       (#2=Ž¢¢ÌŽ£)¢Ísub(#2¢ªŽ¢¡âŽ£)==#2
       sub(#4¢ª"FmtvPrf")==#4
    OT:#1¢á[#3#2#5.#4]Prdct
³ÈÄ¥µ­½Ò¤Î³Æµ­¹æ¤Ë¤Ä¤¤¤Æ¡¢¾åµ­PRV´Ø¿ô¤òÎã¤È¤·¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¡¦¦ËÀ¤³¦É½µ­¤Ë¡¢Ž¢(Sgn¢ªXpln)Ž£¤Èµ­½Ò¤·¡¢³ºÅöɽµ­¤¬¡¢
  µ­¹æ¤«¤éÀâÌÀ¤Ø¤ÎÊÑ·Á¤Ë¤Ê¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
¡¦2¤ÄÌܤΎ¢@Ž£¸½¶·µ­¹æ¤Ï¡¢ÀÚ¤ê½Ð¤µ¤ì¤ëÊѹ೵ǰ¤ËÂФ·¡¢
  ¦Ëxyz...¤Èµ­½Ò¤¹¤ë¤È¤³¤í¤ò¡¢#1¡Á¤Î½ç½øµ­¹æ¤ÇÂåÍѤ¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
¡¦·¿µ­¹æŽ¢IN:Ž£¤ÏÆþÎϤò¼¨¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢°Ê²¼¤Ç¤¹¡£
    ¦ËPRV(Q(x,y)¢ÎDF:¢ÌxPrv(<y>¢ª(y.\y1)))
  ¤È¤¹¤ì¤Ð¤³¤Î¾ì¹ç¡¢Ž¢Q(x,y)¢á[x¡â(<y>¢ª(y.\y1))."FmtvPrf"]PrdctŽ£¤ò¼¨¤·¤Þ¤¹¡£
  ¤³¤ÎºÝ¤Ë¼¨¤µ¤ì¤ëµ­¹æÎ󤬡¢·¿µ­¹æŽ¢OT:Ž£¤Çɽ¼¨¤µ¤ì¤ëµ­¹æÎó¤Ç¤¹¡£
¡¦·¿µ­¹æŽ¢IN:Ž£¤Ç¼¨¤µ¤ì¤ëµ­¹æÎ󤫤顢Êѹ೵ǰ¤òÀÚ¤ê½Ð¤·¡¢Ž¢<<¡Á>>Ž£¤Ç³ç¤ê¤Þ¤¹¡£
  ¤½¤ÎºÝ¤Ë¡¢³ÆÊѹ೵ǰ¤ò¼¨¤¹¤è¤¦¤Ë¡¢Ž¢#Ž£µ­¹æ¤ò»ÈÍѤ·¤Þ¤¹¡£
  ¤³¤³¤ÇÉÕ¤±¤é¤ì¤ëÈÖ¹æ¤Ë¤Ï½ÅÊ£¤¹¤ë¤³¤È¤â¤¢¤ê¤¨¤Þ¤¹¡£
¡¦­¡,­¢¤ò·Ð¤¿ÊÑ·Á¤µ¤ì¤¿µ­¹æ¤ò¡¢·¿µ­¹æŽ¢OT:Ž£¤Ë¤ÆÊ¤ÙÂØ¤¨¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¤³¤ÎÎã¤ò¤è¤ê°ìÈÌŪ¤Ëɽµ­¤¹¤ë¤¿¤á¤Ë¡¢·¿µ­¹æŽ¢IN:Ž£¤ÇÀÚ¤ê½Ð¤µ¤ì¤¿
ÆþÎϤÎÊѹ೵ǰ¤ò·¿µ­¹æ¤Ç¤è¤ê°ìÈ̲½¤·¤Þ¤¹¡£
    IN:#1<<[2]TmLogFrm>>¢ÎDF:#2<<""/¢Ì>>#3<<Var:>>#4<<Prv>>#5<<Gnum:>>
¤½¤·¤Æ¡¢¤³¤ì¤Ç­¡¡Á­¤¤Î¡¢¤è¤ê°ìÈÌŪ¤Ê¥á¥¿µ­½Ò¤¬´°À®¤·¤Þ¤·¤¿¡£
@(Sgn¢ªXpln)¦ËPRV@¢¿
    IN:#1<<[2]TmLogFrm>>¢ÎDF:#2<<""/¢Ì>>#3<<Var:>>#4<<Prv>>#5<<Gnum:>>
       (#2="")  ¢Ísub(#2¢ªŽ¢= Ž£)==#2
       (#2=Ž¢¢ÌŽ£)¢Ísub(#2¢ªŽ¢¡âŽ£)==#2
       sub(#4¢ª"FmtvPrf")==#4
    OT:#1¢á[#3#2#5.#4]Prdct
¤Ä¤Þ¤ê¾åµ­¤Ï¡¢Î㤨¤ÐŽ¢PrvŽ£¤Ê¤ëʸ»úÎó¤¬Â¸ºß¤¹¤ëµ­¹æÎó¤Ï¡¢
¾ò·ï¤¬À°¤¨¤Ð¡¢¤¢¤ë¼ï¤Î³µÇ°¤ÎÀâÌÀ¤ËÊÑ·Á¤Ç¤­¤ë»ö¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
¤µ¤é¤Ë¦ËPRV´Ø¿ô¤Ï¡¢­¥¤È¤·¤Æ¡¢¤è¤ê´Êñ¤ËÃÖ´¹·²¤Î¤è¤¦¤Ê³µÇ°¤ÇÀâÌÀ¤Ç¤­¤Þ¤¹¡£
    ¦ËPRV{<1,2,3,4,5>
          <1,3,2,5,4>}
¤³¤ì¤Ï¡¢¾ÚÌÀ¤Ë´Ø¤¹¤ëµ­¹æ¤È¤½¤Î³µÇ°¤ÎÀâÌÀ¤ËÂФ·¡¢
Êѹ೵ǰ¤Ï5¤Ä¤ËÀÚ¤ê½Ð¤µ¤ì¡¢¤½¤Îµ­¹æ¤òľ´¶Åª¤Êµ­¹æ¤ÎÃÖ´¹¤ò·Ð¤Æ¡¢
¾åµ­¤Î¤è¤¦¤ËʤÓÂØ¤¨¤ì¤Ð¡¢µ­¹æ¤«¤éÀâÌÀ¡¢ÀâÌÀ¤«¤éµ­¹æ¤ò
½ÐÎϤµ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë»ö¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
º£Å٤Ϥ³¤ÎÎã¤Ç(Xpln¢ªSgn)¤ÎÊÑ·Á¤ò¹Í¤¨¤Æ¸«¤Þ¤¹¡£
@(Xpln¢ªSgn)¦ËPRV@¢¿
    IN:#1<<Q(x,y)>>¢á[#2<<x>>#3<<¡â>>(#4<<<y>¢ª(y.\y1)>>).#5<<"FmtvPrf">>]Prdct
       (#3=Ž¢¡âŽ£)¢Ísub(#3¢ªŽ¢¢ÌŽ£)==#3
       (#3="")  ¢Ísub(#3¢ªŽ¢Ž£)  ==#3
       sub(#5¢ªŽ¢PrvŽ£)==#5
    OT:#1¢ÎDF:#3#2#5(#4)
¤µ¤é¤Ë¡¢¤³¤ÎÎã¤ò¤è¤ê°ìÈÌŪ¤Ëɽµ­¤¹¤ë¤¿¤á¤Ë¡¢·¿µ­¹æŽ¢IN:Ž£¤ÇÀÚ¤ê½Ð¤µ¤ì¤¿
ÆþÎϤÎÊѹ೵ǰ¤ò·¿µ­¹æ¤Ç¤è¤ê°ìÈ̲½¤·¤Þ¤¹¡£
    IN:#1<<[2]TmLogFrm>>¢á[#2<<Var:>>#3<<=/¡â>>(#4<<Gnum:>>).#5<<"FmtvPrf">>]Prdct
¤½¤·¤Æ¡¢¤³¤ì¤Ç­¡¡Á­¤¤Î¡¢¤è¤ê°ìÈÌŪ¤Ê¥á¥¿µ­½Ò¤¬´°À®¤·¤Þ¤·¤¿¡£
@(Xpln¢ªSgn)¦ËPRV@¢¿
    IN:#1<<[2]TmLogFrm>>¢á[#2<<Var:>>#3<<=/¡â>>(#4<<Gnum:>>).#5<<"FmtvPrf">>]Prdct
       (#3=Ž¢¡âŽ£)¢Ísub(#3¢ªŽ¢¢ÌŽ£)==#3
       (#3="")  ¢Ísub(#3¢ªŽ¢Ž£)  ==#3
       sub(#5¢ªŽ¢PrvŽ£)==#5
    OT:#1¢ÎDF:#3#2#5(#4)
¤³¤ÎÃÖ´¹·²¤¬·²¤ÎÀ­¼Á(¤¢¤ß¤À¤¯¤¸¤ÎÀ­¼Á)¤«¤é¡¢¾å²¼¤Î¹Ô¤òÆþ¤ìÂØ¤¨¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¾åµ­¤Ï¡¢Î㤨¤ÐŽ¢"FmtvPrf"Ž£¤Ê¤ëʸ»úÎó¤¬Â¸ºß¤¹¤ëGAL¤Îµ­¹æÎó¤Ï¡¢
¾ò·ï¤¬À°¤¨¤Ð¡¢ÆÃ¤ËŽ¢x=Ž£¤È¤·¤Æ¤Îµ­¹æÎ󤬤¢¤ì¤Ð¡¢
¤¢¤ë¼ï¤ÎÉÔ´°Á´ÄêÍý¾å¤Îµ­¹æÎó¤Ë¤Ç¤­¤ë»ö¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£

¤Þ¤È¤á¤ë¤È¡¢¦ËPRV´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËPRV@¢¿
    (Sgn¢ªXpln)¢¿
        IN:#1<<[2]TmLogFrm>>¢ÎDF:#2<<""/¢Ì>>#3<<Var:>>#4<<Prv>>#5<<Gnum:>>
           (#2="")  ¢Ísub(#2¢ªŽ¢= Ž£)==#2
           (#2=Ž¢¢ÌŽ£)¢Ísub(#2¢ªŽ¢¡âŽ£)==#2
           sub(#4¢ª"FmtvPrf")==#4
        OT:#1¢á[#3#2#5.#4]Prdct
    (Xpln¢ªSgn)¢¿
        IN:#1<<[2]TmLogFrm>>¢á[#2<<Var:>>#3<<=/¡â>>(#4<<Gnum:>>).#5<<"FmtvPrf">>]Prdct
           (#3=Ž¢¡âŽ£)¢Ísub(#3¢ªŽ¢¢ÌŽ£)==#3
           (#3="")  ¢Ísub(#3¢ªŽ¢Ž£)  ==#3
           sub(#5¢ªŽ¢PrvŽ£)==#5
        OT:#1¢ÎDF:#3#2#5(#4)
    ¦ËPRV{Sgn <1,2,3,4,5>
          Xpln<1,3,2,5,4>}

ƱÍͤˡ¢°Ê²¼¤ÎÎã¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£
    Sgn :@Prvbl(~¢Ìq<m,n>~)
    Xpln:¢Ð.(~¢Ìq<m,n>~."FmtvPrf")
¤³¤³¤ÇÀâÌÀ¤ËÂФ·¡¢GAL¤Ë¤è¤ë½ñ¤­´¹¤¨¤ò¹Ô¤¤¤Þ¤¹¡£
    (¢Ð.(~¢Ìq<m,n>~."FmtvPrf")) ¢á (~¢Ìq<m,n>~.¢Ð."FmtvPrf")
¤½¤³¤Ç¶ñÂÎŪ¤Ê¦ËPRB´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËPRB@¢¿
    (Sgn¢ªXpln)¢¿
        IN:#1<<>>#2<<@Prvbl>>(#3<<~¢Ìq<m,n>~>>)
           sub(#2¢ªŽ¢¢Ð."FmtvPrf"Ž£)==#2
        OT:(#3.#1#2)
    (Xpln¢ªSgn)¢¿
        IN:(#1<<~¢Ìq<m,n>~>>.#2<<>>#3<<¢Ð."FmtvPrf">>)
            sub(#3¢ªŽ¢@PrvblŽ£)==#3
        OT:#2#3(#1)
ÆþÎϤÎÊѹ೵ǰ¤ò·¿µ­¹æ¤Ç¤è¤ê°ìÈ̲½¤·¡¢ÃÖ´¹·²¤ò¼¨¤·¤Þ¤¹¡£

¤Þ¤È¤á¤ë¤È¡¢¦ËPRB´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËPRB@¢¿
    (Sgn¢ªXpln)¢¿
        IN:#1<<""/¢Ì>>#2<<@Prvbl>>(#3<<Gnum:>>)
           sub(#2¢ªŽ¢¢Ð."FmtvPrf"Ž£)==#2
        OT:(#3.#1#2)
    (Xpln¢ªSgn)¢¿
        IN:(#1<<Gnum:>>.#2<<""/¢Ì>>#3<<¢Ð."FmtvPrf">>)
           sub(#3¢ªŽ¢@PrvblŽ£)==#3
        OT:#2#3(#1)
    ¦ËPRB{Sgn <1,2,3>
          Xpln<3,1,2>}

ƱÍͤ˰ʲ¼¤ÎÎã¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£
    Sgn :<y>¢ª(y.\y1)
    Xpln:y.Diagnl_iz
¤½¤³¤Ç¶ñÂÎŪ¤Ê¦ËDGR´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËDGR@¢¿
    (Sgn¢ªXpln)¢¿
        IN:<#1<<y>>>¢ª(#1<<y>>.\y1)
        OT:<#1>.Diagnl_iz
    (Xpln¢ªSgn)¢¿
        IN:#1<<y>>.Diagnl_iz
        OT:<#1>¢ª(#1.\y1)
ÆþÎϤÎÊѹ೵ǰ¤ò·¿µ­¹æ¤Ç¤è¤ê°ìÈ̲½¤·¤Þ¤¹¡£

¤Þ¤È¤á¤ë¤È¡¢¦ËDGR´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËDGR@¢¿
    (Sgn¢ªXpln)¢¿
        IN:<#1<<GNum:>>>¢ª(#1<<GNum:>>.\y1)
        OT:#1.Diagnl_iz
    (Xpln¢ªSgn)¢¿
        IN:#1<<GNum:>>.Diagnl_iz
        OT:<#1>¢ª(#1.\y1)

ƱÍͤ˰ʲ¼¤ÎÎã¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£
    Sgn :y<y>
    Xpln:y.Diagnl_iz
¤½¤³¤Ç¶ñÂÎŪ¤Ê¦ËDGO´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËDGO@¢¿
    (Sgn¢ªXpln)¢¿
        IN:#1<<y>><#1<<y>>>
        OT:#1.Diagnl_iz
    (Xpln¢ªSgn)¢¿
        IN:#1<<y>>.Diagnl_iz
        OT:#1<#1>
ÆþÎϤÎÊѹ೵ǰ¤ò·¿µ­¹æ¤Ç¤è¤ê°ìÈ̲½¤·¤Þ¤¹¡£

¤Þ¤È¤á¤ë¤È¡¢¦ËDGO´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
@¦ËDGO@¢¿
    (Sgn¢ªXpln)¢¿
        IN:#1<<GNum:>><#1<<GNum:>>>
        OT:#1.Diagnl_iz
    (Xpln¢ªSgn)¢¿
        IN:#1<<GNum:>>.Diagnl_iz
        OT:#1<#1>

¾åµ­¤ÎSAL¤òŬÍѤ¹¤ë²Õ½ê¤ò¡¢°Ê²¼¤ËŽ¢¡Ú´Ø¿ô¡ÛŽ£¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£
 <<¦Å>>Dcsn_¢Ìabl.Sttr
 <<¦Æ>>Âè2(¢ÌCmplt)Thrm