# alias: FourthSuitForcing # button-text: 4th Suit Forcing # gib-works: true # bba-works: true # auction-filter: Note...:Fourth.suit # curate: kind=bidding # convention-card-ns: 21GF-SPECIALS # convention-card-ew: 21GF-GIB /*@chat --- Fourth Suit Forcing After 1!C, 1!D, or 1!H, a suit response at the 1-level, and a new suit by opener, the 4th suit is artificial and game forcing. NOTE: Many have different agreements about the sequence, 1!C - 1!D - 1!H - 1!S. Some play it as natural and forcing one round. Some play it as GF and less than 4 spades and use 2!S for GF with 4 spades. Talk to your partner! https://www.bridgebum.com/fourth_suit_forcing.php 4NT is Roman Keycard Blackwood (1430) with a trump suit agreed, or quantitative (inviting 6NT) in a notrump auction. Keycard responses: • 5!C = 1 or 4 keycards • 5!D = 0 or 3 • 5!H = 2 without the trump queen • 5!S = 2 with the trump queen @chat*/ produce 100 dealer north #include "script/Calm-Opponents" #include "script/Predict-Opening-1-Bid-North" ###### Define Bidding Sequences ##### # These variables are defined in the imported script # The number of cards North has in each suit: s, h, d, c # North's predicted opening suit: oC, oD, oH, oS nP = hcp(north) sP = hcp(south) # Predict South's 1-level response sS = spades(south) hS = hearts(south) dS = diamonds(south) cS = clubs(south) # South responds in D, H, or S (Walsh style), or raises C. longer than C to avoid 2/1 # Predict South's responding suit rS = sP<11 ? sS>3 and sS>hS : sS>3 and sS>hS and sS>=dS and sS>=cS // avoid 2/1 in minor rH = (sP<11 ? hS>3 : hS>3 and hS>=dS and hS>=cS) and not (rS) rD = dS>3 and dS>=cS and not (rS or rH) rC = cS>4 and cS>4 and not (rS or rH or rD) rN = not (rS or rH or rD or rC) # Define North's possible rebids nRC = clubs(north)>3 nRD = diamonds(north)>3 nRH = hearts(north)>3 nRS = spades(north)>3 nRN = shape(north,any 4333+any 4432+any 5332) # Defining North's opening (not NT) & South's non-GF response CD = oC and rD CH = oC and rH CS = oC and rS CN = oC and rN CC = oC and rC DH = oD and rH DS = oD and rS DN = oD and rN DD = oD and not (DH or DS or DN) HS = nP<11 ? oH and rS and hS<3 : oH and rS and hS<4 // no Jacoby 2N HN = oH and rN HH = oH and not (HS or HN) CDH = CD and nRH CDS = CD and nRS and not (CDH) CDN = CD and nRN and not (CDH or CDS) CDC = CD and c>5 and not (CDH or CDS or CDN) CDD = CD and d>3 and not (CDH or CDS or CDN or CDC) CHS = CH and nRS CHN = CH and nRN and not (CHS) CHC = CH and c>5 and not (CHS or CHN) CHD = CH and nRD and not (CHS or CHN or CHC) CHH = CH and nRH and not (CHS or CHN or CHC or CHD) CSN = CS and nRN CSC = CS and c>5 and not (CSN) CSD = CS and nRD and not (CSN or CSC) CSH = CS and nRH and not (CSN or CSC or CSD) CSS = CS and nRS and not (CSN or CSC or CSD or CSH) CNC = CN and c>5 CND = CN and nRD and not (CNC) CNH = CN and nRH and not (CNC or CND) CNS = CN and nRS and not (CNC or CND or CNH) CNN = CN and nRN and not (CNC or CND or CNH or CNS) CCD = CC and nRD CCH = CC and nRH and not (CCD) CCS = CC and nRS and not (CCD or CCH) CCN = CC and nRN and not (CCD or CCH or CCS) CCC = CC and c>5 and not (CCD or CCH or CCS or CCN) DHS = DH and nRS DHN = DH and nRN and not (DHS) DHC = DH and nRC and not (DHS or DHN) DHD = DH and d>5 and not (DHS or DHC or DHN) DHH = DH and nRH and not (DHS or DHC or DHN or DHD) DSN = DS and nRN DSC = DS and nRC and not (DSN) DSD = DS and d>5 and not (DSN or DSC) DSH = DS and nRH and not (DSN or DSC or DSD) DSS = DS and nRS and not (DSN or DSC or DSD or DSH) DNC = DN and nRC DND = DN and d>5 and not (DNC) DNH = DN and nRH and not (DNC or DND) DNS = DN and nRS and not (DNC or DND or DNH) DNN = DN and nRN and not (DNC or DND or DNH or DNS) HSN = HS and nRN HSC = HS and nRC and not (HSN) HSD = HS and nRD and not (HSN or HSC) HSH = HS and h>5 and not (HSN or HSC or HSD) HSS = HS and nRS and not (HSN or HSC or HSD or HSH) HNC = HN and nRC HND = HN and nRD and not (HNC) HNH = HN and h>5 and not (HNC or HND) HNS = HN and nRS and not (HNC or HND or HNH) HNN = HN and nRN and not (HNC or HND or HNH or HNS) ##### End of Define Bidding Sequences ##### ##### Select appropriate 4SF bidding sequences ##### noReverse = (CDH or CDS or CHS or DHS or DHC or DSC or HSC or HSD) and nP>11 and nP<17 // Avoid Jump Shifts isReverse = (CHD or CSD or CSH or DSH) and nP>16 allSequences = noReverse or isReverse //and not CDH # South's constraints sShape = shape(south,any 7xxx+any 6xxx+any 5xxx-any 74xx-any 64xx-any 5332-any 4432-any 4333) sRange = sP>12 and sP<16 // with 13-15 I got Soloway jumpshifts sConstraints = sShape and sRange # North's constraints nSpades = (CS or DS or HS) and spades(north)<=3 nHearts = (CH or DH) and hearts(north)<=3 nDiamonds = CD and diamonds(north)<4 nSupport = nSpades or nHearts or nDiamonds twoSuits = shape(north,any 54xx+any 44xx) nConstraints = nSupport and twoSuits and nP<19 # Now do it condition allSequences and nConstraints and sConstraints and calmOpps #and CHD # Just for stats... bal = shape(north,any 5422+any 5332+any 4432) h3 = h==3 and (CH or DH) s3 = s==3 and (CS or DS or HS) action average "noReverse " 100 * noReverse, average "CDH " 100 * CDH, average "CDS " 100 * CDS, average "CHS " 100 * CHS, average "DHS " 100 * DHS, average "DHC " 100 * DHC, average "DSC " 100 * DSC, average "HSC " 100 * HSC, average "HSD " 100 * HSD, average "isReverse " 100 * isReverse, average "CHD " 100 * CHD, average "CSD " 100 * CSD, average "CSH " 100 * CSH, average "DSH " 100 * DSH, average "balanced " 100 * bal, average " Heart sup" 100 * (bal and h3), average " Spade sup" 100 * (bal and s3), average "unbalanced" 100 * not bal, average " Heart sup" 100 * (not bal and h3), average " Spade sup" 100 * (not bal and s3),