Research Article

Unified Mathematical Framework for Slicing and Symmetry Reduction over Event Structures

Algorithm 1

Conflict-free partition: .
Input: a prime event structure: ;
Output: the set of : ;
BEGIN
(1) ;
(2) ;
/* Initialize the Queue */
(3)if ( ){
(5)   ;
(6)  Goto BUILDES;
(7)} /* end if; */
/* Expand and merge each conflict pair and build maximal conflict patterns:
; */
(8)for ( ++) { /* do */
(9)  Select a partition pattern: ;
(10) /* Current level is , apply , otherwise, skip while loop to the next one: ++; */
(11) while (   
    ) {
/* Get the head of the Queue: event set */
(12)     ;
(13)     ;
(14)     ;
(15)     ;
(16)     ;
/* is a conflict-free subset; */
(17) if ( ) {
(18)   ;
/* Remove these elements included in others; */
(19)    ;
(20)  }else{
/* Continue next partition by the conflict pattern: ; */
(21)     ;
(22)   } /* end if */
(23)   if ( )
(24)    ;
(25)    ;
(26)   }else{
(27)    ;
(28)   } /* end if */
(29)  } /* end while */
(30) } /* end for */
(31) BUILDES: /* Build the sub-structure:   */
(32) while ( ) {
(33)  Select a conflict-free event subset from ;
(34)  ;
(35)  ;
(36)  ;
(37)  ;
(38)  ;
(39)  ; ++;
(40) } /* end while */
(41) ;
(42) return ;
END;